Managing Printer Drivers
Columnist David Carroll answers a reader's question about managing printer dirvers on a Windows NT Server 4.0, Terminal Server Edition (TSE) network.
August 15, 2000
We maintain a large server farm running Windows NT Server 4.0, Terminal Server Edition (TSE) with Citrix MetaFrame. Our users use autocreated printers to print to their client printers. What's the best way to manage the different printer drivers for all the machines?
Although TSE doesn't handle printing easily, once your setup is correct, printer management can be one of TSE's most useful features. The big chore is making sure that you have working, compatible print drivers for the printers you support and that you have the same driver versions on all machines. First, determine which printers you need to support and whether a TSE-compatible driver exists. (The Citrix and Microsoft Web sites list drivers that have known issues.)
One way to manage printer drivers is to install all of them to one source and then replicate the Registry information. To create one source for printer drivers, install the drivers on a trusted driver server and set it up for sharing. Once you've installed a driver on a x86 NT 4.0 computer of any kind, the path %systemroot%system32spooldriversw32x862 appears on the machine. Copy the contents of the 2 subfolder to a 2 subfolder on the trusted driver share. Next, open a Registry Editor on each print server and go to HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlPrintProvidersLan
ManPrint ServicesServers. Add the value LoadTrustedDrivers, data type RG_DWORD, and give it a value of 1. In the same key, add another value, TrustedDriverPath, data type REG_SZ, and give it a value of \servernamesharename, a value that points to the trusted server with the share in which the drivers are available. This tweak ensures that the print server can load drivers only from the location that you have specified. Just make sure the drivers stored on the driver server are up-to-date.
Each MetaFrame server needs to have the same printer information in each of following locations:
%systemroot%system32spooldriversw32x862 stores driver files
HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlPrintEnvironments Windows NT x86DriversVersion-2 stores printer driver Registry entries
HKEY_LOCAL_MACHINESYSTEM CurrentControlSetControlPrintPrinters stores My Computer printer definitions
HKEY_LOCAL_MACHINESystemCurrentControlSetControlPrintProvidersLanMan Print ServicesServers stores print server source information
You can replicate these entries to a common location and copy the entries to the appropriate place on each machine.
If you don't want to use one trusted source for the 2 directory, then you must install all the print drivers to one machine and copy that machine's 2 directory to all other machines in the farm. Before doing so—and before making any other changes—you need to stop the Spooler service.
You also need to replicate the Registry information from the HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlPrint subkey by copying it to each server in the farm. Don’t forget to restart the Spooler service and test your replicated printers when you're done.
Another issue to keep in mind is that Windows 9x machines won't automap if the client print driver has a name different name from that of the NT print driver. Wtsuprn.txt, which you can find in
%systemroot%system32, tells you how to write a file that relates the Win9x name to the NT name. When you save the file as wtsuprn.inf, it cross-references the Win9x print driver and the correct NT driver so that the client can autocreate without a problem. If you add printers, be sure to add them to the wtsuprn.inf file.
About the Author
You May Also Like