In older versions Citrix relied on the underlying printing subsystem of the host OS; in this case the Microsoft printing subsystem. This Microsoft printing subsystem is actually the regular OS printing subsystem, dating back to NT 3.51, and has been converted to be used on a multi user server. This has always been a very sensitive system, and those administrators who have been there in the NT4 TSE era know what I’m talking about.
With the release of Citrix Presentation Server 4.0 (CPS4) this changed drastically when Citrix built the printing subsystem from scratch.
Citrix marketing has done a good job of promoting the new printing engine, so I will stick to the experiences with it so far. Changing from the previous raw print format, to the EMF based used for their universal driver today required both a server (CPS 4.0) and client (9.0) change. (go for the latest 9.15 client, where quite some printing issues were fixed like font embedding etc)
EMF stands for “Enhanced Meta File”. That is a technology that takes the printing snapshot and captures it when it’s sent from the application (gdi/ddi call), and captured by the EMF printing subsystem. This snapshot is then sent to the client’s machine, which can capture it with an EMF viewer and then send it to the printer, or send it to the printer directly.
Since the snapshot is now sent in a viewable format to the client machine, the client gets the opportunity to view and alter the job, before sending it to the printer. That way client side printer functionality can be used. (The famous client printer trays, etc).
Besides this, the new Universal driver is capable of handling a print job sent to a host based printer (Host based means a printer that cannot run without processing software on the client machine. These are often cheap printers, as they do not contain a print processor on board) on the client, which the previous Universal drivers did not handle so well. The client printers now also have a more easily recognizable and shorter session name.
Citrix marketing has claimed a 4 times faster printing speed with this new technology, but that is a bit much. The way Citrix now uses compression however is much better then the previous versions. The printing channel is now stripped from the ICA package, compressed separately and put back into the ICA package. That way the print job becomes much smaller. To see if this number is achievable for your traffic type, you need to test it for yourself, but I can promise an improvement compared to the older Universal driver.
The bumpy road
With CPS4, Citrix released their first attempt for an EMF based printing system, and of course it had some bumps along the ride. The first thing people encountered was that the default printer was lost, when more than 3 client printers were auto created. This had been fixed in Windows 2000 and for Windows 2003. Some people found out that McAfee 8 was blocking the EMF file on the client from being viewed, resulting in no print job being sent from the client to the printer. The full story can be found here.
Today with all the fixes loaded and having the client on version 9.15, you should have a stable client printing system.
One of the major redesigns of CPS4 printing, was letting go of that legacy printing subsystem, based on the NT3.51 print spooler system.
Citrix created a new printing subsystem which took care of everything and did not use the original spooler system in any way. In order to have the new system run as a service, Citrix creates a user during installation of the suite called “ctx_smauser”. (One of the reasons why you cannot install CPS4 on a domain controller). What was not taken into account was that many customers use extensive security on their network and the ctx_smauser account, often ended up with crippled rights, creating all kinds of printing issues.
Citrix created a document on how to rebuild/check the needed rights for this account in the following document.
Most administrators changed the account that ran the new service to use either the system account, or added the ctx_smauser to the local admin group, just to get back stable printing, but going over the Citrix article regarding the exact needed rights is a better solution.
If your security event log is getting flooded with “Ctx_SmaUser Login Failures” and with 1103 errors, make sure to read this article to know what to do. Keep the house clean where possible.
The basics of using network printers is the same as in previous versions, but with some extra killer features. The printers can now be set with policies, rules and filters. Also with this version, a single print queue can be imported. The same new printing subsystem is used on the server side, not bothering the original spooler service in any way.
So far I have not heard any issues about this functionality, so all seems stable from day 1.
Like mentioned above, policies are now being used for just about everything, printing functionality included.
Those administrators choosing not to auto create automatically, but create specific policies for just about every user’s printer, could end up with a lot of policies on the system. When using Microsoft policies, this usually meant slowdown on the logon process if quite some were set. The Citrix policies are extremely light, and Citrix administrators have reported having no issues on speed, with hundreds of policies defined.
Advanced concepts guide
One of the most popular lines from the CPS4 advanced concepts guide, was the registry key needed for getting administrators back to being able to administrate auto created printers. This was a new feature in CPS4, and a lot of administrators were really puzzled on what happened.
The registry key I mean is:
That key allows administrators to manage auto created printers again.
Make sure to check out the Citrix advanced Concepts Guide for some more general registry keys on printing in CPS4.
CPS4 printing summary
The new printing subsystem releases us from printer driver management, crashing spooler service, client printers that need to be exchanged from the vendor for other types that do work, and the administrator walking on his tip-toes when it comes to printing. It finally gives us the full user side functionality of printers and with the new compression it can handle bigger jobs over the same lines than older versions.
In my personal view, the new printing subsystem alone makes it well worth the upgrade to this new version.
In this article I have tried to describe the new CPS4 printing through the eyes of the administrator, dealing with issues and stability of printing. Hopefully some of these explanations or tips can get you on the right track to use the new printing subsystem to its full potential, and have some extra time to play a round of Quake, while the users are happy printing anything they can get their hands on. (The paperless office is still years away from today).