Wilco van Bragt - LinkeIn Wilco van Bragt - Twitter rssa 

Can third party software solve your Terminal Server printing problems?

One of the biggest challenges in Terminal Server environments are printer related topics, where the drivers challenge is the main part of it. A lot of third party manufactures developed products to beat these challenges. Are these third party products useful to use for the printer challenge?


First let’s start with describing the main reasons which are causing these challenges concerning printing.


1)      Printer drivers are not written to be used on Terminal Servers

Although finally lot printer manufactures see the necessary to develop the drivers in such way. But still there are printer drivers which are written for usage on a workstation by one user at the time. Printer drivers not written for usage on Terminal Servers are most time not capable to handle so much printing jobs. When the driver becomes overwhelmed this can cause that the spooler services crashes or even worse the operating system will bleu screen. Happily the most important manufactures like HP, Xerox, Nashuatec and Lexmark build Terminal Server ready drivers, which are often tested by Citrix and Microsoft.

2)       Printjobs are using lot of bandwidth

Printjobs normally are consuming a big amount of bandwidth. This is not specific related to Terminal Server environments, but most times it is a bigger issue when using Terminal Services. Because Terminal Services are used a lot when users needs access from co-locations, home locations or supplier/customer offices where the bandwidth is limited to the location where the Terminal Servers are. Within environment with small bandwidths and lots of printjobs these jobs can use the full amount of bandwidth. This actually means that users are not able to work anymore because the Terminal Server related traffic is stuck by the printer traffic.

3)      Version conflicts by third party drivers

Often (especially with new printer) the Window operating system don’t have the driver for that printer. To use all functionality of that printer the driver made by the manufacture must be used. It can happen that one new driver overwrites again a DLL also used by another driver. This can happen that the printers using the pre-existed DLL do not function anymore. Therefore every new printer driver must be tested extensively before using it an production environments.

4)      All printer drivers needs be available on all Terminal Server

The most important rule in Terminal Server world is that all servers hosting the same applications must be 100% identical. This rule also applies to the printer drivers. It is difficult jobs to keep all related files to printer drivers identical on all servers especially you have lots of printer drivers.


For more information about printer basics on Terminal Servers I refer to the article Surviving Printing on Citrix from Stefan Vermeulen. I will continue with above described causes to take a look at third party solutions.

What solutions are build-in the “default” products.

Before we can talk about the possible value add of third party products, first we need to know what solutions are built in the “default” products. In general Microsoft Terminal Server and Citrix Presentation Server are the most used products.

Microsoft Terminal Server before Windows 2003 SP1

 Microsoft need not implement a solution for these printer driver challenges till Windows 2003 Service Pack 1. In other words in earlier version no options are given by Microsoft Terminal Server to control those printer challenges.


Microsoft Terminal Server Windows 2003 SP1


Within Service Pack 1 of Windows 2003 Microsoft introduces the so called Fallback Printer Driver. When this Fallback Printer Driver option is enabled (via Group Policy Objects) Windows Terminal Server checks the local printers available on the client (as it always does). If a corresponding native driver is found on the Terminal Server, this driver will be connected to the auto created client printer. If no native driver is found Terminal tries to find out which kind of driver Terminal Server should use for this printer. Microsoft is looking to use which fallback driver looking at part of the printer names for words like PCL, PS and/or Color.  Depending of the decision Terminal Server is using the following fallback drivers: HP DeskJet 500,  HP DeskJet 500C, HP LaserJet 4/4M PS, and  the HP Color LaserJet 5/5M PS. Using registry setting this decision behavior can be edited to your needs. More information about the Fallback Driver can be found at What's new in Terminal Services for SP1 and  How Microsoft's Windows 2003 SP1 Fallback Printer Driver Works.


This Fallback driver only works with auto created client printers, has no compression and has no option to limit bandwidth usage.

 Citrix Presentation Server before Citrix Presentation Server 4

 Citrix presented their Universal Printer Driver in Metaframe XP FR2. This Printer Driver evolved in the Feature Released and MPS3 to support color printers and PS scripts. In the latest version of Metaframe XP and MPS3 the universal printer driver is actually one of the following drivers HP Color Laserjet 4500, HP Color Laserjet 5 PS and HP Laserjet II drivers. Via policies Citrix Administrator can limit the printer bandwidth usage based on several rules. The jobs itself are compressed in the same way as the other Citrix channels.
The universal driver can only be used when using auto created printers.

Citrix Presentation Server 4

Within Presentation Server 4 Citrix completely redesigned their printer architecture. This new architecture an EMF bases printer driver. EMF is a Windows standard format, jobs are not rendered by the server and EMF files are smaller. Also this EMF format makes it possible to support all kind of printer options like duplex and tray selection. This new printer architecture is superior improvement. Most of other third party products are using this kind of driver. Citrix is also compressing the job before it is send to the virtual channel. Within CPS4 also the possibilities to control printers are extended, logically the option to limit the bandwidth for printer is still available.


What are third party products offering you?

Now we know which options are available within the several versions of Windows Terminal Server and Citrix, we should ask us the question: What are offering those third party products for features? Mainly those products use a universal driver based on a PDF or an EMF format. If you are using auto created client printers the client need to have additional software (the client of the product) installed. Beside this client software, most third party products have an agreement with printer manufacturers to put the “client” in the printer hardware. Using this kind of printers the client does not need to have any additional software and the server part of the solution will also send the job directly to the printer. With these products it also possible to use mapped network drives (directly in combination with a universal driver on the Terminal Servers).

 This kind of products also have additional product to support environment with other operating systems, gateway options, NAT and special application support.  Also all products support compression, bandwidth limitations. Also most products are supporting Cluster configurations for the server part. Logically it is not possible to explain the products in great detail, because they are all fairly different although they try to achieve the same result. If you are interested in detailed explanation of some of these product take a look at the review I already wrote at http://virtualization.vanbragt.net.


Let’s go back to the first question of the article. Can third party solve your printer problems? It depend mostly of the basis is of your infrastructure. 

Windows 2000 Terminal Server does not have any options to help you, so third party product should be definitely considered. If you are using Windows 2003 without SP1 the same story is applicable as Windows 2000.

With Service Pack 1 you have almost the same functionality as Citrix Metaframe XP FR2 or higher and Presentation Server 3. Although this kind of universal driver does not work for all printer devices you can definitely decrease the amount of (unsupported) printer drivers on your servers. Unfortunate this Fallback driver does not have any compression options or bandwidth limitations. So if you have an infrastructure with WAN connections and that is your main issue again third party products can help you.

Within Citrix Metaframe XP and Presentation Server these bandwidth limitations can be set. Although compression is used, this is not just as effective as third party products. So again if you are lots of small bandwidth WAN links third party products could be considered.

Presentation Server 4 was a big improvement concerning the Printing architecture. If you compare this architecture with third party products it getting pretty close to each other.


Don’t forget those universal driver solutions of Microsoft and Citrix only works with auto created client printers. If you would like to have a solution for network printers with a universal driver, compression, bandwidth limitation or a combination a third party product is the only solution at this time.

The last tip: if you would like to use a third party product thoroughly considers for which reasons you need that product. Select more than one product for evaluation. The products aim the same goal but are fairly different in the way to reach that goal. 

Article previous published at MSTerminalServices.org.