The Ultimate Citrix Install Guide
 
1 - Preface
2 - Project Management
3 - Analysis Phase
4 - Design Phase
5 - Implementation Phase
  1. Implementation Overview

2. Prepare the Network Environment

3. Add Users to a Terminal Services Environment

4. 3rd Party IMA Data Store Installation Instructions

5. Install Operating System

6. Install MetaFrame XP

7. Tweak Windows 2000 / MetaFrame XP

8. Rapid Server Deployment

9. How to create a Zone & Move MetaFrame Servers to it

10. ICA Client Update Configuration Utility

11. How to Setup Automatic Reboot for MetaFrame Servers

12. Client Drive Mapping

13. Install Applications

14. Publishing through the Citrix Management Console

15. How to Build a Stable Printing Environment

16. NFuse Integration

17. Citrix Web Console (CWC)

18. How to Secure a Internet Information Services (IIS) Server

19. Citrix Management Console (CMC)

20. Microsoft Terminal Services License Server

21. Implement System Policies

22. Implementation - Checkpoint
6 - Readiness Phase
7 - Rollout Phase
8 - Appendix

15. How to Build a Stable Printing Environment

If you have any experience with Terminal Services you will know that printing is one of the most finicky of all the subsystems and requires the most care and loving.    In the following sections I will try to explain how I recommend building a printer subsystem for optimum performance and bandwidth utilization.

In order to build a stable printing environment you must set up the following items.

1.       Gather a list of printers that you will be expected to maintian and set the expectation that any addiotional printers will require addional administration. (This should have been done during the Analysis phase)

2.       Setup the print enviorment.

       Configure the Printer Management Properties

       Configure the client printers that will be autocreated

3.       Create printer compatibility driver mappings

       How to manually add printer driver mappings

       How to import a WTSUPRN.INF file

4.       Set Printer Bandwidth for client auto-created printers.

5.       How to be proactive in maintaining driver mappings

 

15. 1.    Gather a list of printers to be supported

During the infrastructure assessment you should have gathered a list of supported printers.   This is very important because you will take this list and add compatibility mappings and also you will be setting the expectation that those will be the printers that will be supported on go-live day and any additional printers might need additional configuration.    You will also want to present this list to your customer and verify that it is accurate.

15. 2.    Setup the Print Environment

MetaFrame adds some killer features to aid you in building a stable print environment.  Now that you have a list of support printers and have explained to the customer that any additional printers might need additional configuration, you are ready to setup your print environment.

15. 2. 1 Configure the Printer Management Properties

The first thing you will want to configure is how MetaFrame will deal with the automatic creation of client printers and the use of Native Drivers and Universal Print Driver (UPD).   These options are broken down in to two sections; Client Print Connections and Printer Driver


Configuring Client Printer Connections:

The following options control which printers are auto-created.  By default, Use connection settings for each server is selected.

 

        Default client printer only: This option specifies that only the printer specified as the default printer on each client device is auto-created.

        Local (non-network) client printers only: This option specifies that only printers that are directly connected to LPT, COM, on the client device and configured for the current user are auto-created.  In order to cut down on unnecessary printer bandwidth this is the option I recommend. 

        All client printers: This option specifies that all client printers that are configured for the user are auto-created. 

        Use connection settings for each server:  This option specifies that client printers are auto-created according to the printer auto-creation option that is specified in the Citrix Connection Configuration Client Printers box for the ICA session.

 

Configuring Printer Drivers:

When client printers are auto-created, you can specify whether they use native printer drivers (which must be installed on the server) or the Universal Print Driver feature by selecting from the following options:

 

        Native Drivers Only: This option disables the Universal Print Driver feature. All client printers are auto-created if the native drivers are installed on MetaFrame XP servers.

        Universal Driver Only:  This option enables the Universal Print Driver feature and auto-creates client printers with the Citrix PCL4 Universal Driver on the server.   Select this option if you want all client printing to use the Citrix Universal Print Driver feature.

        Both Universal and Native Drivers:  This option specifies that two versions of each client printer are auto-created: one with the Citrix PCL4 Universal Driver and the other with the printers native driver (if it is installed on the server).

        Universal Driver Only if Native Driver Unavailable:  This is the default option. It specifies that client printers are auto-created with the native driver for each printer, if it is available. If the driver is not available on the server, the client printer is auto-created with the Citrix PCL4 Universal Driver.   This is the option I recommend in order to guarantee a client can print when all else fails. 


The following explains how I recommend configuring MetaFrame for optimal performance while guaranteeing a printer when all else fails.

 

1.       Open the Citrix Management Console and right click on Printer Management Click Properties

 

2.       In the Client Print Connections section select the Local (non-network) client printers only radio button and select the Use universal driver only if native driver is unavailable Click OK

 

You are now ready to configure any network printer you will want to use during a MetaFrame session.


15. 2. 2 Configure Network Print Servers and assign printers

Now that we have configured MetaFrame to auto-create only local printer we will need to configure MetaFrame to auto-create network drives.   To make network printers available to ICA Client users, you import network print servers into the MetaFrame XP server farm. Doing this lets you specify on a user / group basis which printers are available.

The following explains how to import a Microsoft print server and assign a user to have a printer device auto-created. 

1.       Open the Citrix Management Cosole and click on Printer Management Click the Network Print Servers  tab

2.       Click Import Network Print Server

 

3.       You are now prompted to import a print server.  In the server text box, enter the name of a Microsoft print server on your network.   You are also prompted to enter a user account that has print administrator to access to the selected print server.   Click OK

 

4.       Click the Print Management section in the Farm tree view.

 

5.       Double Click Printers

 

6.       You are now prompted with the printers that have been imported in to the MetaFrame IMA database.  

 


7.       Right click on the printer you want to assign to a user or group and click Auto-Creation.

 

8.       You are now prompted to select the user(s) and or group(s) that will have the select network printer auto-created during logon.  Click OK.

 

15. 2. 3 How to Create a Network Printer for all Users

The following problem is frequently encountered. Customers set up a policy to restrict all users from accessing the Printers folder or they decide to allow users to access only published applications. They also may want to prevent users from auto-creating printers. They want to create a single network printer on the MetaFrame server that all users can see in the printer drop down-list from within the application. When the network printer is selected in the Add Printer wizard, the printer is available only for the user who created the printer. A workaround is described below. Perform the following steps, preferably from the console:

1.       Click Start click  Settings click  Printers double-click the Add Printer icon.

2.       Click Next.


3.       Click the Local printer radio button and uncheck the Automattically detect and install my Plug and Play printer checkbox.  Click Next.  

 

4.       Click the Create a new port radio button and choose Local Port from the drop-down box..  Click Next.

 

5.       The Portal Name dialog box will pop up requesting the UNC name of the printer you want to create for all users.   Enter the UNC name and click Next.


6.       You are now prompted to select the printer maufacture and printer type.   Select the printer type and click Next.

Note:  I highly recommend sticking with the print drivers located on either Windows Terminal Server 4.0 or Windows 2000 Terminal Services and only install third party drives in production if you have already tested them to be stable and funtional) 

 

7.       Enter the friendly name of the printer and select whether or not you want it to be their default printer and click Next.

 


8.       Click the Do not share this printer radio button and click Next.

9.       You are now prompted whether or not you would like to print a test page.I recommend you select Yes and then attatch the test print to the finial delevable.  This also guarentees to the customer that the printer was working at implementation time.   Click the Yes Radio button and click Next.

10.    Verify the configuration data is accurate and and click Finish.


 

15. 3.    Create Printer Compatibility Driver Mappings

Now that we have set the environment, we need to create compatibility mappings for all the printers that will need to be supported. 

Mapping of printer drivers refers to identifying printer drivers for the same printer that have different names on different client platforms. You need to use mapping if the printer drivers you will be using on MetaFrame XP servers have different names than the drivers used by client computers.

The corresponding printer driver for the client printer must be loaded on the server. The driver names must match exactly, otherwise the printer will not map.

With Windows NT Workstation / 2000 as the client machine, this is not really an issue. Windows NT Workstation / 2000 and Windows 2000 Server both use standard NT driver naming conventions. The issue is more common with Windows 95,98 and  Me client machines. The driver names will occasionally differ slightly between Windows NT and Windows 9x thus causing the printer to fail in being auto-created.

As an example, you might have the following driver name on your Windows 95 client machine: HP LaserJet 4/4MP. When you install the same driver on MetaFrame XP Server, the driver name may appear as: HP LaserJet 4. Absence of the /4MP portion of the driver name will mean this printer will not get mapped.  Thus you need to create a compatibility mapping in the Citrix Management Console to create the relationship between the two drivers.

During installation, the data store imports printer driver mappings from the Wtsuprn.txt or wtsprnt.inf files on the server. If duplicate mappings are found, they are not written to the data store. You can use Citrix Management Console to manage printer driver mapping for the server farm.

During startup of the IMA service, the Wtsprnt.inf file for all servers in the farm, is populated from the mapping information stored in the data store. If the file does not exist, the IMA service creates it. If the file exists, it is overwritten with the mapping information contained in the data store. Manual imports of existing Wtsuprn.txt or Wtsprnt.inf files can be performed using the qprinter command. For more information, see How to manually import an existing wtsuprn.inf file

 


15. 3. 1 How to Setup Printer Compatibility Driver Mappings

The following explains how to add driver compatibility mapping through the Citrix Management Console.

1.       Click Start Click Programs Click Citrix Click Citrix Management Console

2.       Enter an admintrator account and click OK.

3.       Double Click on Printer Management Click Drivers Click the Mappings button (as shown below)

4.       The Driver Mapping dialog box opens (as shown below).  Click Add


5.       The Add Mappings dialog box opens asking for a Client Driver and Server Driver.  Enter the Client Drivers name as listed in the client printer properties sheet on the clients local machine. 

6.       Enter the Server Driver you want to map the client printer to. 

Note: An example WTSPRNT.INF file is listed later in this chapter.

7.       Click OK

 

You have now succesfully added a Printer Driver Mapping.  Have the user log on and verify the printer autocreates.


15. 3. 2 How to Import Printer Compatibility Mappings

When migrating from MetaFrame 1.8 and or to save time, you might want to import client printer driving mappings from a WTSUPRN.INF file.

To accomplish this task Citrix developed the QPRINTER.EXE command line utility.   In testing I have found that this tool only works if the MappingFileName is named WTSUPRN.INF and it is stored in the %systemroot%/system32 directory.   It must follow the WTSUPRN.INF format.

Another pitfall is that it will only support a file with 256 characters that are imported, before it will error and cause the IMA service to fail.  I recommend to remark out (;) all but ten lines per import and to then to remark out (;) all but the next ten until you are finished. 

 

In order to import the printer driver file from the command line type:

C:> qprinter /IMPRMAPPING C:WTSUPRN.INF

 

Note:  If for any reason you receive an error you will need to manually start the IMA service.

 

QPRINTER.EXE Command Line Arguments:

C:>qprinter /?

 

Display information about printers in server farm.

   QPRINTER   [/REPLICA]   [/IMPRMAPPING  MappingFileName]

 

   /REPLICA

           -- Display information about printer replication queue

 

   /IMPRMAPPING MappingFileName

           -- Import printer mapping from file. MappingFileName should

              not contain quotation marks and can not have more than 

              256 characters

 

 

Note: QSERVER.EXE is not installed by default.  It can be located on the MetaFrame XP CDROMs - \W2K\support\debug\i386 folder.

 


15. 4.    Set Printer Bandwidth for Client Auto-created Printers

In keeping with the goal of setting up a print system optimized for optimum bandwidth we might want to set the Printer bandwidth feature.  When users access MetaFrame XP servers through slower networks or dial-up connections, data sent during printing can affect video updates and application performance. To achieve the best performance for some ICA Client users, you can limit the bandwidth used by local auto-created printers utilizing the ICA data stream. Remember that by default, the client printer bandwidth is set to unlimited during your initial set up.

By limiting the data transmission rate for printing, you make more bandwidth available in the ICA data stream for transmission of video, keystrokes, and mouse data. More available bandwidth can help prevent degradation of the user experience during printing and keep with the goal of a high user perception of performance. 

The following explains how to set a bandwidth limit on a per server basis.

1.       Open the Citrix Management Cosole, right click on Printer Management Click the Bandwidth tab.


2.       Select the Limited radio button and enter the amount of bandwidth you would like allotted to each auto-created printer.  Click OK.

 


15. 5.    How to be Proactive in Maintaining Driver Mappings

I have always liked to be proactive instead of reactive!   I liked it when my customers would call me to report a user that was not able to print and I would have already known and made the change.   This really looks good and gives your customers positive feeling about the services they are paying for.

My favorite feature of MetaFrame XP is that it logs failed auto-created  printers to the Application Log on the MetaFrame server that the auto-creation failed on. 

The following explains how to extrapolate the pertinent information you will need to add a compatibility drive mapping and or a terminal services compatible native driver.

 

1.       Open the Event Viewer on a MetaFrame server and open the Application Log.   You will want to browse through the log and look for failed MetaFrameEvents messages.

 


2.       Double click on the event to open the Event Properties box.  In the description box you will be presented with the following information that will be useful in presenting failed auto-creation and for notifying  the user(s) in question that the problem has been solved.

        Client Name: This is the user that experienced the failed auto-creation (DABCC-demo).   After adding an appropriate compatibility mapping, you might want to notify the user that you have solved the problem.  Just by sending a simple email, you will go miles in setting the perception that you are doing your job.

        Printer: This is the UNC path to the printer that failed to auto-create (Client\DABCC-demo#\Napa01)

        Printer Driver: This is the client printer driver name that tried to map to a server driver.  This is the name you will want to associate with a server driver name.  

Now that you have this information you will want to setup a printer compatibility mapping as shown earlier in the document.  

 

The following is a screen shot of a failed auto-created printer:

 


15. 6.    How to manually connect a client printer within a ICA Session

For one reason or another, you might need to manually connect a client printer during a Citrix Session.  This is accomplished through the ICA Client Printer Configuration utility.  

The ICA Client Printer Configuration utility is a tool that allows users to control the creation, deletion, connection and disconnection of ICA client printers in a session. The utility is used by client machines which do not have a native Windows Print Manager, such as the ICA DOS client. The ICA Client Printer Configuration utility must be run from inside an ICA session.  If you are not delivering a full client desktop, I highly recommend publishing the ICA Client Printer Configuration utility, in case a user needs it.

Creating a new client printer

       To create a new printer with the utility, select the Printer New option from the menu, or press the Insert key.

       This brings up the Add ICA Client Printer Wizard, which uses dialog boxes to prompt the user for a printer type (driver name), the client port to which the printer is connected and a name to use for the printer. These dialog boxes are similar to the ones used when adding a printer on a Windows 95 or Windows NT workstation.

       Once all of this information is obtained, the utility will send a request for information on the printer properties and any information necessary for creating the printer. On a DOS machine, this information is written to the printer.ini file, so when this client connects again, the printer is created in the ICA session.

 

DABCC Site Map | Legal Notice | Privacy Statement | All Rights Reserved for DABCC, Inc.