Latest posts by Jim Jones (see all)
- Removing a corrupted Canon print driver - Fri, Apr 8 2016
- VMware vSphere licensing update 2016 - No love for the little guy - Fri, Mar 25 2016
- Veeam releases free Endpoint Backup 1.5 - Fri, Mar 18 2016
As said before in this space I am not a fan of printing. I believe it to be the devil, and if there is any part of IT that could be killed with fire or automated away it would be printing—and getting rid of paper altogether. Unfortunately, for now, we still have to deal with those little bastards so hey, why not blog about it?
The old workplace is a mix of HP printers and Canon copiers that also serve as network printers. Recently, we've been running into an issue with the Canon drivers getting corrupted by recent Windows 7 updates. Unfortunately, dealing with the issue isn't as simple as right-click delete, so it's once again time for documentation.
The short version of the fix is entering Print Manager, restarting the print spooler, and then just as the print server is starting, backup delete the driver in the instant before the printer is active. The long version is where all that athletic training we never got comes into play, because this is 100% a timing issue.
- The first step is opening up the Print Server Properties UI in admin mode. I've found the easiest way to do this is to open an elevated command prompt and type in “printui /s /t2”. This will list any and all print drivers that are installed on your local machine. Now you would think that being simply clicking that big Remove button shown below would have the desired effect, but no. More often than not you’ll be prompted that you can’t remove it because it’s in use, regardless of whether it’s in use by a connected printer.
- So now that we know it won’t work simply, let’s start with (if you haven’t already) removing the printer from Devices and Printers. Considering the skill level of the readers of this website, I don’t think I need to spell this out.
- Now we need to start the process of deleting the driver. Click on the driver you want in the Print Server Properties window, then remove. You will then be asked if you want to remove just the driver or the driver and the driver package as well. Do the latter, then hit OK.
- So now you are presented with the “do you really want to do this” dialog box as shown below. Before you hit Yes we need to go back to our elevated command prompt. In my experience, you need to keep this window to where you can see both the command prompt and the dialog box, preferably with the mouse hovering over the Yes button as you type in the other.
- In the command prompt windows we need to restart the print spooler service through the command “net stop spooler && net start spooler”. As soon as you see the “The Print Spooler service was started successfully” hit the Yes button on your open dialog box. If the Gods are with you and you had cat‑like reflexes you should now be presented with the “Driver package deleted” message as shown at the top of this article.
In the end, this shouldn’t be this hard. It has to do with the DLLs used by the print drivers being bound at a very low level in the operating system and nothing will unbind them easily. What amazed me is that there isn’t even a safe mode version of this that works easily. But as long as the print spooler isn’t running, the Print Server Properties window will be blank. If you’re having a similar experience to what I’ve had you’ll now be able to just re-add the network printer as you normally would and have the driver reinstall itself and work perfectly.
Finally, I’d love to hear if you’ve got a better way to do this.