RDP Printer Mapping

Every now and then there is the need to install client side printers on 2003 Terminal services.  For this to work the driver name on the client side has to be an identical match for the server side.

When the client and server side operating environments differ this is not always possible as Windows 7 drivers names invariably differ to that of XP and 2003 server driver names.

To get around this we use driver name mapping to correlate the names.

To create a mapping file in Windows 2003 Server , you must add two registry keys:

Key: HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server\Wds\rdpwd
Type: REG_SZ (string)
Value: PrinterMappingINFName
Data: Path to our new INF file eg c:\windows\inf\printmap.inf

Key: HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server\Wds\rdpwd
Type: REG_SZ (string)
Value: PrinterMappingINFSection
Data:  The name of the section we assign to printers in our INF above eg Printers

Note the Value is very important, if named anything else this will not work.

We now have to create our INF and create the section Printers with the driver names we want to map;

;PRINTMAPPINGS.INF
;This file is used to Map Client side print drivers to Server side print drivers

[Printers]
;Syntax is “Client Printer Driver name” = “Server Printer Driver name”
;To locate the client side name look in the advanced tab of printer preferences
;Or see the error log in event viewer on the Server side.

“Canon Inkjet iP4600 series” = “Canon iP4600 series”

You can have multiple mappings to the same server side driver as well.  Once you have completed the above three tasks you need to restart the Print Spooler service on the terminal server.

If  when restarting the print spooler service you receive the error;

Event 1110: “Error processing ntprint.inf. If the file on the system is corrupt, you can restore it from the installation media.”

It is a red herring and means you got the syntax wrong along the way some where so go back and recheck your mapping file.

Leave a Reply