Troubleshooting


Troubleshooting printing problems in the SBC environment can be complex and exasperating. The following section outlines a methodology to solve the most common printing problems. Most printing problems can be avoided or fixed by investigating a number of basic areas such as printer settings configuration, client-side printer drivers, server-side printer drivers, printing permissions, printer driver names, and client name.

Printer Settings Configuration

There are several locations in the SBC environment where printer settings can be configured. Any one of these areas can contribute to printer problems so they are a great place to start when troubleshooting printing problems.

Citrix Policies

Check any defined Citrix Policies to ensure that the resultant policy allows for the auto-creation of client printers. Citrix Policies will override all other printer configurations listed in this section, so they are, in turn, the first place to check when problems occur. The settings in question are located under Client Devices | Client LPT Ports and Client Printers. To ensure functionality, make sure that the Turn Off Client LPT Port Mapping option is not enabled under the Client LPT Ports section. Enabling this option causes any locally attached printer to not auto-create in a user's session. Ensure that in the Client Printers | Connect Client Printers dialog box, if it is Rule Enabled, the Connect Client Printers At Logon option is checked and appropriate settings below are set, and that the option is not Rule Disabled.

Farm Settings

The next place to verify configurations is the Farm settings for printer configuration. Open the CMC and right click the Printer Management listing. The settings will reside under both the Drivers and Printers sections. Common problems under the Drivers section include having the option Native Drivers Only checked and not having the Automatically Install Native Drivers For Auto-created Client And Network Printers option unchecked. This will cause any printers in which native drivers were not already loaded on the server to fail. Common problems in the Printer section are not having the Auto-create Client Printers When User Logs On option set or isolating printers to be mapped to only the default client-side printer. The former will cause no printer to be created; the latter will cause only one printer to show up (the clients' default).

Citrix Connection Configuration

The Citrix Connection Configuration administration program (found on the ICA Administrator toolbar or by choosing Start | All Programs | Citrix | Citrix Connection Configuration) also has settings that can define whether printers are auto-created or not. Double-click or right-click and select Edit on the protocol listener (ica-tcp, ica-ipx, and so on) to configure the settings. Select the Client Settings button and ensure that the Connect Client Printers At Logon option is checked if the Inherit User Config check box is not selected. Also, ensure that the following boxes are not checked under the Client Settings Area:

  • Disable Windows Client Printer Mapping

  • Disable Client LPT Mapping

Active Directory Users and Computers

In Active Directory Users and Computers, check the user's account settings by double-clicking the user account. Ensure that Connect Client Printers At Logon is selected on the Environment tab. This setting is applied if the Inherit User Config check box is set in the Citrix Connection Configuration administration program.

Client-Side Drivers

The next area to investigate if printers are not correctly showing up for users is the client-side driver. Verify that the latest and correct manufacturer's driver is loaded for the specific printer having problems. It is also essential at this point to make sure the local print subsystem is working. Test local printing with Notepad or another locally installed application to the printer in order to verify basic local printing functionality. Printing in the SBC environment will not be successful if the local subsystem is not operational. Problems at the local level must be solved before additional troubleshooting steps are taken.

Server-Side Drivers

Beyond the client-side drivers and local printer subsystem problems, the MetaFrame XP servers must also have a locally installed driver that matches the client-side driver for auto-creation to succeed. The match must be exact or a mapping must be created through the CMC. The drivers installed on a MetaFrame server can be verified in two ways. The first is through the Server Properties dialog box which can be accessed by going to Start | Printers | File | Server Properties. The Driver tab shows a list of current drivers installed on the server. The second method is to view the following registry location:

  • HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Print\Environments\WindowNT x86\Drivers\Version-3

This key contains subfolders for all the printers installed on the server. The proper method for installing additional printer drivers is detailed in the "Print Driver Maintenance" section of this chapter. Follow this procedure to ensure the MetaFrame XP server will have a suitable driver for auto-creation to succeed.

Printing Permissions

After ensuring that there are no printer settings causing printers not to create, and verifying both client and server drivers, the next thing to attack is permissions. Sufficient rights must be granted to the user to enable them to create and eventually print to the printer. A quick test of whether permissions are causing problems with the creation or access to printers is to log in to the MetaFrame XP server with an administrator level login from the end user's client. If the printer successfully auto-creates in this case, a permissions problem is most likely the cause.

In order to auto-create a printer successfully, a user must have access to certain files and directories on the server. For printer auto-creation, there are two important permissions that must be set. A user should have at least Read, Write, Execute, and List Folder Contents permissions to the directory %systemroot%\system32\spool. Users should additionally have Read, Write, Execute, and List Folder Contents permissions to the file %systemroot%\system32\printer.inf.

Assigning user permission to Imported Network Print Server(s) through the CMC does not automatically grant the user the right to actually print to the printer. This permission set merely auto-creates the printer within the user's profile. This information is located in the following registry keys in the profile:

  • HKEY_CURRENT_USER\Printers\Citrix\NetworkPrinters

  • HKEY_CURRENT_USER\Printers\Connections

Finally, verify that the user has at least Print permissions on the print server. This may be explicit (named user) or implicit (group membership).

Printer Driver Names

Printer driver names also play an important part in the auto-creation process. The problem stems from the fact that different operating systems have different named drivers for the same printer. For example, an HP LaserJet 5 printer has a driver name of "HP LaserJet 5P" in the Windows 2000/2003 operating system environment (MetaFrame XP server) and "HP LaserJet 5P/5MP (HP)" on a Windows 95/98/Me environment (typical client PC). This fundamental difference will cause the printer auto-creation to fail. As far as the MetaFrame XP server is concerned it does not have an exact driver match.

For this reason, it is critical to know the exact printer driver name used on both the client and server. This information is used to create a mapping entry in the CMC to ensure proper auto-creation. As explained earlier in this chapter, a mapping defined in the CMC determines what driver is used when a user tries to connect.

Client Name

Another item that can cause printer problems is the client name that the local ICA Client uses. The setup program for the ICA Client asks for a client name during installation and defaults to the local NetBIOS name. An alternate name may be specified. This setting has an effect on printing if all client PCs do not have unique client names. When a printer is auto-created on a MetaFrame XP server it includes the client name as part of the path in the format clientname#printername. For example, if a PC with the name PC215 connects to a MetaFrame server with an HP LaserJet 4 attached, the printer will be mapped as PC215#HP LaserJet 4. If two machines connect to the same MetaFrame XP server with the same client name and printer, the server will have problems figuring out where to send print jobs since the queues will have the same name. This leads to user print jobs being sent to another user's printer, the correct printer, or nowhere at all. Always use unique client names on users' systems to avoid this pitfall. Chapter 17 discusses naming conventions to ensure unique client names.

It is also important to note that if a user creates or changes the ICA Client name and places a comma in that name, auto-creation of printers will no longer function for that client. The comma must be removed for Client Printer Auto-creation to work. The client name is also limited to 20 (single-byte) characters.

Additional Troubleshooting Topics

The previous sections addressed the most common problems but there are many other obscure pitfalls. This section details additional items that could lead to problems.

Updating Server Information

If you add or remove a printer on a network print server, update the print server information to ensure that the console displays the available printers on the Printers tab. Select a print server and use the Update Network Print Server command from the right-click menu, the toolbar, or the Actions menu. This is a manual process since print server information does not update automatically.

When changing the driver on the print server, remove the object from the print server, refresh the printer node within the Citrix Management Console, and ensure the printer is removed. Log on as a user and then log off after verifying the printer is successfully deleted. Add the printer with the new driver to the print server, refresh the print server within the Citrix Management Console, add the user to the imported print server, and retest with the previous logged on/off user.

Changing the share name of a network printer deletes all usernames entered in the auto-creation list for the printer in the Citrix Management Console. These assignments are written to the datastore and associated with the share name of the network printer. When you make changes to the printer on the network print server, make sure the usernames are reassigned to the printer in the Citrix Management Console.

Removing a print server removes all of its printers from the farm. This is the opposite of importing a network print server. If you remove printers, ICA Client users cannot print to them. If you want to do this, select the print server to remove, and then choose Discard Network Print Server from the right-click menu, the console toolbar, or the Actions menu. After you confirm the command, the print server no longer appears on the Network Print Server tab and its printers aren't displayed on the Printers tab.

This process also removes the object from the user's profile at the next logon. Ensure users are not reconnecting to a disconnected session when troubleshooting this issue.

Third-Party Ginas

No, third-part ginas does not refer to Geena Davis, but instead to other third-party vendors such a Novell (Nwgina.dll) or PCAnywhere (AWgina.dll) that may block the Citrix Gina (Ctxgina.dll) from accomplishing its task of auto-creating printers. The primary operating system Gina is specified in the following registry key:

  • HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WindowsNT\CurrentVersion\Winlogon\GinaDll

By default, initial installations of Microsoft operating systems do not show this value and Msgina.dll is considered the default Gina. Third-party vendors such as Citrix (Ctxgina.dll), Novell (Nwgina.dll), or PCAnywhere (AWgina.dll) modify this winlogon key and add the GinaDll value. When MetaFrame XP is installed, if the GinaDll value is not Msgina.dll, Citrix adds a new value in the registry:

  • HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WindowsNT\CurrentVersion\Winlogon\ctxgina.dll

Potential problems can occur if another application is added after MetaFrame that overwrites this Gina. If you continue to have printing problems after checking the previous topics then look into this registry key to make sure the Citrix Gina is the primary Gina used by the system.

Important Files

There are several files that are critical for successful printer functionality in the SBC environment. Corruption of any of the following files can lead to complications with printing.

  • Cdmprov.dll (located in the %systemroot%\Program Files\Citrix directory) enumerates printers during the login process.

  • Cpmmon.dll (located in the %systemroot%\Program Files\Citrix directory) is used during the printing process back to the client.

Compatibility Lists

Make sure that any Driver Compatibility settings are not causing problems with the printers that are not working successfully. In CMC | Printer Management, there is a Drivers section. Right-click the Drivers entry and select Compatibility to display the Compatibility dialog box. Ensure that if Allow All Drivers Except Those In The List is selected, that the printer driver name for the client currently having difficulties is not listed. If it is listed, then this setting is blocking the auto-creation of the printer. If the Allow Only Drivers In The List option is selected, make sure the driver being used is present in the list.

The Lexmark Z2 Driver

If Lexmark Z2 printers are present in the environment, provide a mapping to use another driver when printing to this printer. The Lexmark Z-series monolithic driver is linked to the Lexmark installer and may cause the auto-creation process to function improperly.

The Spooler Service

Although it sounds basic, ensure that the spooler service is running and no event viewer messages indicate spooler problems. If the spooler service is stopped on a MetaFrame server, all connected users will lose their sessions printers. Restarting the spooler will correct the problem. On the Windows 2000/2003 server, adjust the spooler service to restart automatically after failure. This can be accomplished through Start | Control Panel | Administrative Tools | Services. Locate the Print Spooler service, right-click it, and select Properties. On the Recovery tab set the options for First, Second, and Subsequent failures to Restart The Service. Set the Restart The Service After field to one minute.

Thin Clients

Windows CE-based thin clients will not auto-create printers in the same way workstations do because printer drivers do not exist locally on the thin-client device. The ICA Client Printer Configuration program or the Client Printers section of the CMC should be used to initially connect and troubleshoot thin-client printing. Double-check the client names specified in the Client Printers section if this utility is being used, or select New from the Printer menu to create an initial mapping in the ICA Client Printer Configuration program. Additionally, contacting the specific OEM device manufacturer for support regarding the appropriate printing support in SBC environments can provide insight into problems.




Citrix Metaframe Access Suite for Windows Server 2003(c) The Official Guide
Citrix Access Suite 4 for Windows Server 2003: The Official Guide, Third Edition
ISBN: 0072262893
EAN: 2147483647
Year: 2003
Pages: 158

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net