Reliable procedure/tool for removing print drivers in Windows 7 (domain environment)

One of the troubleshooting steps in resolving printer-related issues with any version of Windows is to remove installed print drivers and then reinstall the drivers. This is a domain environment and drivers are pulled from a print server.

I've had occasion to need to do this on a user's system running Windows 7 Enterprise 64-bit. These procedures don't work:

  • Removing the printer from Devices and Printers (doesn't remove driver obviously).

  • Doing the above, going into Server Properties, and attempting to remove the driver (fails with a "driver in use" error).

  • Opening an empty mmc, adding the Print Management snap-in, and attempting to do the above (also fails with a "driver in use" error).

  • Doing sc stop spooler and sc start spooler before doing both of the above.

  • The printer is not visible in Device Manager. It's a shared network printer so maybe that has something to do with it not being there.

enter image description here

Now I know it's possible to remove drivers with the spooler service stopped and then going into the spool directory, as well as deleting registry entries. That's dangerous and I might not get everything Windows considers part of the driver.

I'm asking if a tool exists to do this where I can just select the driver in question and it be removed.

NOTE: I am remoted into the system in question via RDP.


Solution 1:

Remove printer drivers

When you install a printer driver on a computer that is running Windows 7 or Windows Server 2008 R2, Windows first installs the printer driver to the local driver store, and then installs it from the driver store.

When removing printer drivers, you have the option to delete only the printer driver or remove the entire printer-driver package. If you delete the printer driver, Windows uninstalls the printer driver, but leaves the printer-driver package in the driver store to allow you to reinstall the driver at some point. If you remove the printer-driver package, Windows removes the package from the driver store, completely removing the printer driver from the computer.

To remove printer drivers from a server, use the following procedure:

To remove printer drivers

  1. Open Print Management.

  2. In the left pane, click Print Servers, click the applicable print server, and then click Printers.

  3. In the center pane, right-click those printers that use the driver that you want to delete, or change the driver that is used by each printer to another driver.

  4. In the left pane, click Print Servers, click the applicable print server, and then click Drivers.

  5. In the center pane, right-click the driver and do one of the following:

    • To delete only the installed driver files, click Delete.

    • To remove the driver package from the driver store, completely removing the driver from the computer, click Remove Driver Package.

Additional considerations
  • To open Print Management, click Start, point to Administrative Tools, and then click Print Management.

  • You must have administrative credentials to perform this task.

Additional references
  • Managing Printers and Print Servers

  • Printing Architecture and Driver Support (http://go.microsoft.com/fwlink/?LinkID=92657)

Solution 2:

Delete the drivers from Device Manager.

That seems like the more straight forward approach. If it still says it is in use, then you got some rogue process. I'd use SysInternal's Autoruns and Procmon to investigate further.