Windows 2000 or Windows Server 2003 Terminal Services server logs events 1111, 1105, and 1106
However, if you are using third-party drivers or some Microsoft Windows 95/Microsoft Windows 98 drivers on the client, printer redirection does not work. When this occurs, the following error messages are logged in the System event log on the server:
Event ID: 1111
Description: Driver drivername required for printer printertype is unknown. Contact the administrator to install the driver before you log in again.
Event ID: 1105
Description: Printer security information for the printername/clientcomputername/Session number could not be set.
Event ID: 1106
Description: The printer could not be installed.
Important The Event 1110 error may also be caused by an incorrect INF name reference in the PrinterMappingINFName value that you add. Make sure that you use the correct INF name. Important This section, method, or task contains steps that tell you how to modify the registry. However, serious problems might occur if you modify the registry incorrectly. Therefore, make sure that you follow these steps carefully. For added protection, back up the registry before you modify it. Then, you can restore the registry if a problem occurs. For more information about how to back up and restore the registry, click the following article number to view the article in the Microsoft Knowledge Base:
- Open Regedt32.exe and locate the following key: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\Wds\rdpwd
- Add the following values:Name: PrinterMappingINFName
Data: Name of the .inf file to which you want to redirect lookups.
Data: Name of the section in the .inf file to which you want to redirect lookups. Example: Printers
Example of the format for creating a new .inf file:
[Version]Signature="$CHICAGO$"[Printers]"OEM Printer Driver Name" = "<?xm-deletion_mark author="v-vincli" time="20071120T143949+0800" data="Windows 2000 "?>Printer Driver Name"Such as:
"HP DeskJet 720C Series v10.3" = "HP DeskJet 722C"The left side of the "=" is the exact name of the printer driver associated with the client-side print queue that is being redirected to the server. The right side of the '=' is the exact name of the server-side driver equivalent that is installed on the Terminal Server.
The friendly printer name that is displayed when you click Start, click Setting, and then click Printers on the client may not be the actual printer driver name that should be redirected to point to a print driver on the Terminal Server. To find the printer driver name to add to the left side of the equal sign in the .inf file that you create, look in the system event log on the Terminal Server at the Event ID 1111's being logged. The Event ID 1111 contains the actual printer driver name that is failing to be redirected. Some Event ID 1111's also contain printer resources on the client that cannot and must not be redirected like fax drivers or software printers. If you do not know the printer driver name to add to the right side of the equal sign in the .inf file, you can install the printer on the server. After the printer is installed the printer driver name appears to the right of "Model:" under the "General" tab of the printer properties. When possible the built in print drivers that are included with the operating system, signed, or WHQL print drivers should be used to improve system stability.
This example instructs Windows 2000 and Windows Server 2003 to use the HP DeskJet 722C driver when a client with Hewlett-Packard's HP DeskJet 720C Series v10.3 driver connects. These names must match exactly, with the exact same spacing; the names are also case sensitive.
NOTE: The format of the [Previous Names] section in Ntprint.inf is exactly the reverse of the user-defined .inf. In Ntprint.inf, the client-side driver is on the right and the server-side driver is on the left.
You can create this file with Notepad and you must save it with a .inf file name extension. In this example, you would specify the .inf file name that you just created in the PrinterMappingINFName registry value and "Printers" in the PrinterMappingINFSection registry value.
When a client connects, the computer will first see if a user-defined .inf has been defined in the registry. If so, it will then see if there is a match to the client-side driver to use it. If one does not exist, it then sees if there is mapping defined in the [Previous Names] section of Ntprint.inf to use that. If there is not, it will try to install the server-side printer using the name of the client-side printer driver as a direct map to a server-side driver. If no drivers are found, you will receive the error messages mentioned in this article.
If the custom .inf file contains syntax errors, you may receive the following message in the event log:
The custom .inf file must have at least one mapping in its printer name mapping section. If the custom .inf file has a blank name-mapping section, you may receive Event 1110 in the event log. You must restart the Spooler service or reboot the Terminal Server for these changes to take affect.
Terminal Server Printer Driver Redirection WizardThe Terminal Server Printer Driver Redirection Wizard automates the process of creating the .inf file. The wizard helps you troubleshoot and replace print drivers that were unsuccessfully redirected.
The following file is available for download from the Microsoft Download Center:
Download the 9f237742-e057-4e00-a0d5-62de2ebf9fbd/TSPDRW_Package.exe package now.
For information about how to perform this procedure for Citrix ICA clients, see the following Microsoft Knowledge Base article:
Article ID: 239088 - Last Review: 11/20/2007 17:39:36 - Revision: 5.5
- kbprb kbprint kbtermserv KB239088