Contrary to popular belief.... it does help to have the print driver installed locally. Citrix Printing is one of the biggest problem areas. The following comes from a word document I put together for a client when I was doing consulting work... they were always having trouble with printing. It covers 7 key areas where printing problems can surface. My advice to the client was not to read through it and guess which area he was having the problem in, but rather to "fix" every area... even if it wasn't broken. If you follow this approach, I think your printing problems will go away.
(Sorry for the spacing, I pasted it from the Word Document)
1.) Under Winstation Configuration (Terminal Server Connection Configuration on Metaframe), Look under Client Settings. Make sure that the two boxes are both checked on for
Connect Client Printers at Logon
Default to Main Client Printer
If the Inherit User Config box is also checked, these other boxes will be
grayed out. A check in the Inherit User Config box means that these settings
are being checked per user rather than globally for all ICA connections. If this
is the case, you will also need to check the Config button under every user in
User Manager for Domains in order to see if these boxes have been turned on
for each user.
2.) The latest compatible printer driver for the appropriate Operating System should be installed on the client.
3.) The correct NT printer driver (3.51 for Winframe, 4.0 for Metaframe) is
installed on the Citrix Server. You can verify this by checking the following
registry key to see if the driver is listed:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control Print\Environments\Windows NTx86\Drivers\Version-2
4.) Check to see if the printers are auto-creating properly for Administrators and
just not for Users. If so, check and make sure the group Everyone has a
minimum of READ, WRITE, and EXECUTE permissions in the following files
and directory:
%systemroot%\systm32\spool
%systemroot%\system32\printer.inf
5.) All ICA clients must be using unique station names. Auto-created printer
names are evolved from the combination of the client name and the print
driver name. If multiple clients all use the same client name, the printers will
not be able to create because they will all have the same name.
6.) Make certain that the client print driver names and the server print driver names are identical. Sometimes there will be marginal differences in driver names between Windows 95 and Windows NT, more so for MAC clients. When this happens, you need to map the client printer name to the server printer name. This is done in the %systemroot%\system32\ctxuprn.inf file. (wtsuprn.inf file on Metaframe) If the file has never been used before, it installs defaulting as a .TXT file not an .INF file. Edit the text file. You will see examples of print driver names in both a client and server list. Change one of the examples to reflect your needs and un remark that line. Save the file and rename it to an .INF file once you have exited from it.
7.) For MAC clients that have occasional or constant problems spooling print jobs when the printers appear to be auto-creating properly, rename the ICAPRINTSPOOLER file to anything else you want. The client will create a new file when it goes to print. The idea is that the original print spooler file is probably corrupted.