Ran into an issue last night that I had never seen before. One of our Citrix servers simply stopped printing. If you have worked with Citrix for any length of time you know that printing is one of the big pain points but in this case it actually was not a Citrix problem. This server would not print to local or networked printers, via Citrix or otherwise. Multiple reboots did not help. Nor did reinstalling print drivers. We kept getting errors about drivers being "missing or corrupted" regardless of what we installed. Thanks to Google search (every system engineer's favorite tool) we finally tracked down a fix that did the trick. Turns out it was a driver issue of sorts but at the O/S level, specifically the UNIDRV.dll and UNIDRVUI.dll files which are the low level .dll's responsible for handling manufacturer print drivers and their interaction with the O/S. Here's how to fix it (courtesy of http://khuzaimi.blogspot.com/2008/05/printer-driver-files-missing-or-corrupt.html)
1) Go to "C:\%windir%\Driver Cache\i386" folder, extract the sp file specific to your O/S - in this case sp4.cab for Windows 2000 Server - to a folder.
2) Double click the folder, copy unidrv.dll and unidrvui.dll to a new folder on your desktop.
3) Install the utility (MoveOnBoot), then use the utility to delete the unidrv.dll and unidrvui.dll files from the "C:\%windir%\system32\spool\drivers\w32x86\3" folder. (Alternatively you can utilize safe mode reboots to accomplish the file deletion/copying but it requires network and console access.)
4) Restart your computer after you have deleted those two files using the MoveOnBoot utility.
5) Copy the clean unidrv.dll and unidrvui.dll that you copied before and replace into the "C:\WINDOWS\system32\spool\drivers\w32x86\3".
6) Restart your computer again.