Citrix Virtual Apps and Desktops


Managing printers in your environment is a multistage process:

  1. Become familiar with printing concepts, if you are not already.
  2. Plan your printing architecture. This includes analyzing your business needs, your existing printing infrastructure, how your users and applications interact with printing today, and which printing management model best applies to your environment.
  3. Configure your printing environment by selecting a printer provisioning method and then creating policies to deploy your printing design. Update policies when new employees or servers are added.
  4. Test a pilot printing configuration before deploying it to users.
  5. Maintain your Citrix printing environment by managing printer drivers and optimizing printing performance.
  6. Troubleshoot issues that may arise.

Printing concepts

Before you begin planning your deployment, make sure that you understand these core concepts for printing:

  • The types of printer provisioning available
  • How print jobs are routed
  • The basics of printer driver management

Printing concepts build on Windows printing concepts. To configure and successfully manage printing in your environment, you must understand how Windows network and client printing works and how this translates into printing behavior in this environment.

In this environment, all printing is initiated (by the user) on machines hosting applications. Print jobs are redirected through the network print server or user device to the printing device.

There is no persistent workspace for users of virtual desktops and applications. When a session ends the user’s workspace is deleted, thus all settings need to be rebuilt at the beginning of each session. As a result, each time a user starts a new session, the system must rebuild the user’s workspace.

When a user prints:

  • Determines what printers to provide to the user. This is known as printer provisioning.
  • Restores the user’s printing preferences.
  • Determines which printer is the default for the session.

You can customize how to perform these tasks by configuring options for printer provisioning, print job routing, printer property retention, and driver management. Be sure to evaluate how the various option settings might change the performance of printing in your environment and the user experience.

Printer provisioning

The process that makes printers available in a session is known as provisioning. Printer provisioning is typically handled dynamically. That is, the printers that appear in a session are not predetermined and stored. Instead, the printers are assembled, based on policies, as the session is built during log on and reconnection. As a result, the printers can change according to policy, user location, and network changes, provided they are reflected in policies. Thus, users who roam to a different location might see changes to their workspace.

The system also monitors client-side printers and dynamically adjusts in-session auto-created printers based on additions, deletions, and changes to the client-side printers. This dynamic printer discovery benefits mobile users as they connect from various devices.

The most common methods of printer provisioning are:

  • Universal Print Server - The Citrix Universal Print Server provides universal printing support for network printers. The Universal Print Server uses the Universal print driver. This solution enables you to use a single driver on a Multi-session OS machine to allow network printing from any device.

Citrix recommends the Citrix Universal Print Server for remote print server scenarios. The Universal Print Server transfers the print job over the network in an optimized and compressed format, thus minimizing network use and improving the user experience.

The Universal Print Server feature comprises:

A client component, UPClient - Enable the UPClient on each Multi-session OS machine that provisions session network printers and uses the Universal print driver.

A server component, UPServer - Install UPServer on each print server that provisions session network printers and uses the Universal print driver for the session printers (whether or not the session printers are centrally provisioned).

For Universal Print Server requirements and setup details, refer to the system requirements and installation articles.

The following illustration shows the typical workflow for a network based printer in an environment that uses Universal Print Server.

UPS diagram

When you enable the Citrix Universal Print Server, all connected network printers leverage it automatically through auto-discovery.

  • Autocreation - Autocreation refers to printers automatically created at the beginning of each session. Both remote network printers and locally attached client printers can be auto-created. Consider auto-creating only the default client printer for environments with a large number of printers per user. Auto-creating a smaller number of printers uses less overhead (memory and CPU) on Multi-session OS machines. Minimizing auto-created printers can also reduce user logon times.

    Auto-created printers are based on:

    • The printers installed on the user device.

    • Any policies that apply to the session.

      Autocreation policy settings enable you to limit the number or type of printers that are auto-created. By default, the printers are available in sessions when configuring all printers on the user device automatically, including locally attached and network printers.

    After the user ends the session, the printers for that session are deleted.

    Client and network printer autocreation has associated maintenance. For example, adding a printer requires that you:

    • Update the Session printers policy setting.
    • Add the driver to all Multi-session OS machines using the Printer driver mapping and compatibility policy setting.

The term printing pathway encompasses both the path by which print jobs are routed and the location where print jobs are spooled. Both aspects of this concept are important. Routing affects network traffic. Spooling affects utilization of local resources on the device that processes the job.

In this environment, print jobs can take two paths to a printing device: through the client or through a network print server. Those paths are referred to as the client printing pathway and the network printing pathway. Which path is chosen by default depends on the kind of printer used.

Locally attached printers

The system routes jobs to locally attached printers from the Multi-session OS machine, through the client, and then to the print device. The ICA protocol optimizes and compresses the print job traffic. When a printing device is attached locally to the user device, print jobs are routed over the ICA virtual channel.

Diagram of print job routing to locally attached printer

Network-based printers

By default, all print jobs destined for network printers route from the Multi-session OS machine, across the network, and directly to the print server. However, print jobs are automatically routed over the ICA connection in the following situations:

  • If the virtual desktop or application cannot contact the print server.
  • If the native printer driver is not available on the Multi-session OS machine.

If the Universal Print Server is not enabled, configuring the client printing pathway for network printing is useful for low bandwidth connections, such as wide area networks, that can benefit from the optimization and traffic compression that results from sending jobs over the ICA connection.

The client printing pathway also lets you limit traffic or restrict bandwidth allocated for print jobs. If routing jobs through the user device is not possible, such as for thin clients without printing capabilities, Quality of Service should be configured to prioritize ICA/HDX traffic and ensure a good in-session user experience.

Diagram of print job routing to network attached printer

The Citrix Universal Printer Driver (UPD) is a device-independent print driver, which is compatible with most printers. The Citrix UPD consists of two components:

Server component. The Citrix UPD is installed as part of the Citrix Virtual Apps and Desktops VDA installation. The VDA installs the following drivers with Citrix UPD: “Citrix Universal Printer” (EMF driver) and the “Citrix XPS Universal Printer” (XPS driver).

print drivers

The VDA installers no longer offer options to control Universal Print Server PDF printer driver installation. The PDF printer driver is now always installed automatically. When you upgrade to the 7.17 VDA (or a later supported version), any previously installed Citrix PDF printer driver is automatically removed and replaced with the latest version.

When a print job is initiated the driver records the output of the application and sends it, without any modification to the end-point device.

Client component. The Citrix UPD is installed as part of the Citrix Workspace app installation. It fetches the incoming print stream for the Citrix Virtual Apps and Desktops session. It then forwards the print stream to the local printing subsystem where the print job is rendered using the device specific printer drivers.

The Citrix UPD supports the following print formats:

  • Enhanced Metafile Format (EMF), default. EMF is the 32-bit version of the Windows Metafile (WMF) format. The EMF driver can only be used by Windows-based clients.
  • XML Paper Specification (XPS). The XPS driver uses XML to create a platform-independent “electronic paper” similar to Adobe PDF format.
  • Printer Command Language (PCL5c and PCL4). PCL is a printing protocol developed originally by Hewlett-Packard for inkjet printers. It is used for printing basic text and graphics and is widely supported on HP LaserJet and multifunction peripherals.
  • PostScript (PS). PostScript is a computer language that can be used for printing text and vector graphics. The driver is widely used in low-cost printers and multifunction peripherals.

The PCL and PS drivers are best suited when using non-Windows based devices such as a Mac or UNIX client. The order in which Citrix UPD attempts to use the drivers can be changed using the Universal driver preference policy setting.

The Citrix UPD (EMF and XPS drivers) supports advanced printing features such as stapling and paper source selection. These features are available if the native driver makes them available using the Microsoft Print Capability technology. The native driver should use the standardized Print Schema Keywords in the Print Capabilities XML. If non-standard keywords are used, the advanced printing features are not available using Citrix Universal print driver.

The following illustration shows the Universal print driver components and a typical workflow for a printer locally attached to a device.

Diagram of Universal print driver components and workflow

When planning your driver management strategy, determine if you will support the Universal print driver, device-specific drivers, or both. If you support standard drivers, you must determine:

During printer autocreation, if the system detects a new local printer connected to a user device, it checks the Multi-session OS machine for the required printer driver. By default, if a Windows-native driver is not available, the system uses the Universal print driver.

The printer driver on the Multi-session OS machine and the driver on the user device must match for printing to succeed. The illustration that follows shows how a printer driver is used in two places for client printing.

Diagram of client printing to a local printer

  • The types of drivers to support.
  • Whether to install printer drivers automatically when they are missing from Multi-session OS machines.
  • Whether to create driver compatibility lists.