Fixing Windows Spooler Errors

OK, so this is a reminder for me as much as anyone else. Every few months, a Windows server that I'm responsible for has the Print Spooler die. "Die" as in, won't start up. The crummy thing about this is that the problem is typically confined to a single queue, but all printers on the system are affected. This is even more frustrating when it happens on a Citrix server, as anyone with an ICA session won't "see" any printers. You'll notice in "Services" that the Print Spooler Service is stopped. Also, you'll see an error in Event Viewer that looks like this:

Win Spool Error

Figure 1: Faulting application spoolsvc.exe

The fix, fortunately, is easy. While Print Services should already be stopped, double check and make sure they are. The first, easiest thing to do, is to simply dump all of the queued print jobs. As administrator, dump all of the '.SHD' and '.SPL' files from the \WINDOWS\system32\spool\PRINTERS directory. Go start up Print Services, you may have done it! If Print Services won't start after that, more drastic measures are needed.

This time, stop Print Services if they're going, and run 'regedit'. Traverse your way to HKLM\SYSTEM\ControlSet001\Control\Print\Printers.

Hklm Sys Control

Figure 2: HKEY_LOCAL_MACHINE down to Printers

You'll see a list of your printers there. Delete the offending printer and restart Print Services. You should now be up and running, and you can recreate the printer queue that you deleted using the registry editor.

I personally haven't seen too much that one or the other of these steps won't correct. I'm happy if these instructions help someone besides me!