Even though Windows Terminal Services has been around in one form or another for nearly ten years, printing is almost as big of a challenge today as it was in 1995. Several software manufacturers make additional software to solve printing problems. Citrix and Tarantella build universal printer driver and replication technology into their products. Third party companies like ThinPrint, triCerat, and UniPrint also make products specifically designed to deal with printing challenges.
The UniPrint product can be used in two ways. The first option combines UniPrint with Terminal Server or Citrix’s auto client printing. This option makes use of a universal driver on the Terminal Server that sends PDF-formatted files to your client device where a UniPrint client agent handles the printing.
The second option makes use of a UniPrint Gateway. In this case, the Terminal Server sends the PDF files to the gateway instead of the client device, and the gateway then sends the files to the appropriate printer. You can also use the gateway to power a web-based printing portal that allows users to pick up and work with their printouts on a secure website.
When using the gateway option, the full UniPrint environment consists of three parts:
The first component is the so called UniPrint Spool Server. This is the server that receives the files from the Terminal Server servers and sends them to the print server. This software requires IIS with FTP enabled and several other components like MDAC, Windows Script Host and others. All of these components are available in Windows 2003, and the installation routine will automatically install them in older environments. The installation of the UniPrint Spool Server software is straightforward. After accepting the license agreement you need to specify the installation directory and the FTP Site directory. (UniPrint recommends that you install these components on separate servers.) Also, UniPrint deserves a big “kudos” here for making their software cluster aware so you can set it up in a fault tolerant environment.
The second component is the UniPrint Print Server. This component needs to be installed on the Windows print server. It’s responsible for rendering the print jobs and directing them to the actual print queue. To install this component you need a configuration file called UniPrintGateway.ini. You can manually configure this file or use one that’s automatically created during the Spool Server installation (outlined above). The UniPrint Print Server installation is also simple. After accepting the license agreement you need to specify installation folder, the spool folder for UniPrint and the .INI file. This component can also be installed on clustered servers.
The third component needs to be installed on each Terminal Server and consists of two parts—UniPrint Plus and PrintPAL.
UniPrint Plus installs the UniPrint universal driver and imports the printers from the other UniPrint components. During the installation wizard you need to specify which components you use (just UniPrint or UniPrint and the UniPrint Gateway). Then (from of the INI file) the UniPrint Spool Server settings are displayed and can be altered if necessary. You can also choose your security mechanism (none, NT or AD).
Next the PrintPAL setup is started automatically. PrintPAL is a little utility that’s used to link printers to machines or machine groups. This enables users get the nearest printer(s) of the machine they are currently working on.
The PrintPAL installation requires three types of information; which components PrintPAL may use to discover machines for configuration (basic networking, directory service and/or Terminal Services), where the data of PrintPAL will to be stored (a file share) and a service account.
The UniPrint instruction manual discusses silent installation options for the UniPrint Spooler Server and the UniPrint Print Server. However, I can’t find any silent installation information for the UniPrint Plus on the Terminal Server itself, and this component could definitely benefit from an unattended installation option.
All three components have their own configuration possibilities. We’ll first start with the UniPrint Printer Server, the component arranges the PDF file to be converted in a normal print job and sends that Job to the print queue. The Printer Server configuration tool consists of three tabs. On the first tab the Spool Server(s) are listed with their settings. There’s also a button to manually update the printer for the Spool Server. The second tab (called “advanced”) makes it possible to change real settings like the connection interval to the Spooler Server(s), which program needs to be used to convert the print jobs (Acrobat Reader or the UniPrint application), the spool needs to cleanup interval, and the Spool Servers printer update interval. This is a wonderful option, because it means that just by adding a print queue to s print server the printer is automatically available in UniPrint.
Since this process is automatic nothing needs to be changed or configured on the Spooler Server itself. The tool shows all printers (from the Printer Server) and it lets you make little changes like DPI settings, paper size, etc. Fortunately you can also set the most important setting (paper size) via global modifications for all printers.
In addition to the Printer Server configuration tools, two tools are installed on the Terminal Servers themselves. The first one is the UniPrint Configurator. This tool allows you to adjust all kinds of settings for printers and communication with the Spooler Server(s). The Printers tab lets you set all printer properties such as paper size, dpi quality, duplex, paper source, spooling and so on. You can also set the interval for synchronizing with the Printer Spooler. If you’re just the UniPrint Server on the Terminal Server instead of the centralized Spooler Server you can also configure it to update the client automatically.
The second tool installed on the Terminal Server is the PrintPAL utility that’s used to link printers to a machine. When the user logs on the Terminal Server automatically connects the printer(s) configured in PrintPAL for that user. You can search the complete network environment for machines and create and apply settings to groups of them.
It would be nice if there was a feature available that would allow you to replicate settings between all servers with the same functionality. As far as I can tell this is only available with the PrintPAL settings. PrintPAL settings are the most likely to need to be replicated, but it would be nice anyway for the others.
UniPrint also did a good thing in offering the option to load balance the Spooler Servers. Although I didn’t test this functionality, it looks pretty good.
Every component is equipped with three additional tools for troubleshooting and management. Every server has several tools including:
- Database Manager for checking the database entries and errors for the selected component
- Connection Validator for testing the connections and transferring files
- Object Reference Viewer to troubleshoot and check the status of several parts
All components also have log files which can be used to troubleshoot, and both the Print Server and Print Configurator debugging options.
From the user standpoint, if UniPrint is doing its job then a user will never know it exists. Users should be able to click “print” and find a printed document of fine quality at the right printer (near their desk).
Although UniPrint has less options than ThinPrint it offers a good solution for most situations supporting auto client printing and a dedicated printer server in combination with a universal printer driver. All components work fine together with not much configuration after the first setup due to the replication technology between the two products. I really like that UniPrint makes is possible to install the software on cluster servers and the option to load balance the Spooler Servers. The troubleshooting options are adequate. I would love to see the option to share the configuration settings of UniPrint Configurator, Spooler Server and Print Server just like PrintPAL can.