Jump to content
United States - English

MS Windows NT 4.0 through MS windows 2000 and beyond, Print Driver Issues for Operating in a Mixed Operating System Environment

Give us feedback

This document:
  • » Was helpful
  • » Was not helpful
  • » Does not apply

Support details

Print server operating system migration overview
The large installed base of printers and print servers in corporate environments, combined with the large user-base for these printers implies that an operating system migration will take an extended period of time – often months or even years – to complete. Because of this, it is unavoidable that the corporate environment will end up operating with a mix of MS Windows NT 4.0 and newer operating systems (MS Windows 2000, MS Windows XP, and/or MS Windows.Net) for an extended period of time.
There are a number of print driver issues related to operating in a mixed-OS environment that must be considered when planning a print server operating system migration from MS Windows NT 4.0 to MS Windows 2000 or later operating systems. This document will explore these issues and outline several strategies that Hewlett-Packard recommends to support a mixed OS environment with respect to print drivers.
This document is not intended to make specific procedural recommendations for executing a print server OS migration, but it rather is intended to help system administrators and IT managers understand the print driver issues related to operating in a mixed-OS environment so that the requirements which result from the recommendations outlined in this document can be factored into migration planning.
The topics discussed in this document apply to IT environments that are currently running MS Windows NT 4.0 on the print servers and clients and are migrating to future operating systems for both print servers and clients. The MS Windows 9.x family of operating systems is not discussed in this document since MS Windows 9.x clients can be supported with Point and Print equally well from any server platform. A basic working knowledge of shared printing through MS Windows Point and Print is assumed.
While much of this document is general in nature, all specific driver recommendations in the document apply to HP LaserJet and Business Inkjet printers and print drivers.
Background information and terminology
Version 2 driver
With Windows NT 4.0, print drivers were considered to be in general a class of graphics drivers. Due to the performance requirements of some types of graphics drivers, like display drivers, these drivers executed in “kernel mode”. A kernel mode process runs in a specially privileged part of the operating system that gives it access to all system resources. Due to the nature of the privileges granted to kernel mode processes, a misbehaving driver can cause serious system stability problems, including operating system crashes. Microsoft refers to these kernel mode print drivers as “Version-2” drivers and we will use this same term throughout this document.
Version 3 driver
In an effort to increase operating system stability, Microsoft determined that starting with Windows 2000, continuing with all future operating systems, print drivers would run as user mode processes. User mode drivers execute in a protected part of the operating system just like all normal end user processes and applications. This protected part of the operating system restricts access to critical system resources to prevent processes from corrupting these resources, which results in an increase in overall operating system stability. A user mode print driver that misbehaves is only capable of crashing the process in which it is running, but won’t crash the whole operating system. Usually this is the spooler process or an application process, both of which can be restarted without having to restart the whole operating system. Microsoft refers to user mode print drivers as “Version-3” drivers, and again, this is the term that will be used in this document.
Version-3 print drivers are the native or preferred print driver for MS Windows 2000, XP, and Windows.Net, however, all of these operating systems are also capable of running version-2 printer drivers. MS Windows NT 4.0 is only capable of running version -2 print drivers.
NOTE: Many older Windows NT 4 version-2 print drivers are ‘blocked’in Windows 2000, XP, and .NET because they are known to cause operating system stability problems with these newer operating systems. These newer operating systems identify these older drivers and will not allow them to be installed. Refer to Microsoft Knowledge Base article 247196 for more information about determining whether a particular print driver is blocked in newer operating systems. None of Hewlett-Packard’s current version-2 drivers are blocked in these newer operating systems.
The following table lists print driver versions that are officially supported by Microsoft for each operating system:
Operating SystemVersion 2 Version 3
MS Windows NT 4.0 X N/A
MS Windows 2000 X X
MS Windows XP X X
MS Windows.Net X* X
* Windows.Net does not officially support kernel mode print drivers by default. This feature has to be turned on in the registry and is not officially supported by Microsoft.
Point and print in a mixed operating system environment
With Point and Print, the print queue configuration is stored on, and managed from, the print server. Client computers get the print queue configuration and the print driver from the print server. Changes to the print driver on the server, or its configuration, are automatically replicated to the client. In a homogenous operating system environment (all clients and servers are running the same operating system), the print driver that is “vended” from the server to the clients in a Point and Print environment is the same print driver that is running and controlling the print queue configuration on the server. In this case, there is no doubt that the client computer can correctly interpret the print queue configuration and printing will behave as expected.
However, in a mixed operating system environment that will typically occur during an operating system migration, there are situations in which client computers could be running a different version of the print driver than the one that is running on the print server. In order for this situation to work properly, the print driver that is running on the client must be capable of correctly interpreting the configuration that was created by the print driver running on the print server. (Microsoft refers to the data structure in which this configuration is stored as the DEVMODE, but for the purposes of this document, we will just think of this as the print queue configuration.)
For example, in a situation involving a Windows NT 4.0 print server that is supporting a mixed client base of Windows NT 4.0 and Windows 2000/XP clients: Because the server is running Windows NT 4.0, it is running a version-2 driver and the print queue configuration is created by this driver. A version-3 driver has been added to this server for vending to Windows 2000/XP clients (Microsoft documents a special procedure to accomplish this which will be discussed later).
When Windows NT 4.0 clients make a connection to this shared printer on the Windows NT 4.0 print server, it is vended the same version 2 print driver that is running on the print server. Because this is the same print driver that created the print queue configuration, there is no problem reading this configuration and all print jobs will function as expected. However, when a Windows 2000 or Windows XP client makes a connection to this shared printer on the Windows NT 4.0 print server, it is vended the added version-3 print driver. In this illustration, the version-3 print driver is not written to be able to correctly interpret the data structure which stores the print queue configuration and this will have an impact on printing functionality because the version-3 print driver on the Windows 2000/Windows XP client will not “see” all of the installed options as they are configured in the version-2 print driver on the print server. The version-3 driver cannot understand the print queue configuration on the server because it is not compatible with the version-2 driver that the server is running.
Symptoms of driver incompatibility in a mixed OS environment
There is not a single set of symptoms which can be seen when client and server print drivers are different and not compatible in this way, but common symptoms include the clients not being able to see the proper queue configuration with respect to installed device options and default settings. Other problems in functionality can include the inability to print in landscape or print from a specific paper tray.
Manifestations of incompatible version-2 and -3 drivers (the subtle details of point and print)
When an incompatible mix of version-2 and -3 print drivers is present in the environment, unexpected behavior can occur due to some of the more subtle behaviors of Point and Print that aren’t very obvious. For example, in an environment that contains incompatible version-2 and -3 print drivers there are a couple of examples that show how having incompatible drivers can affect printing functionality.
Examples showing the effect on printing functionality when using incompatible drivers
In the following scenarios, there is a Windows NT 4.0 print server and a Windows 2000 print server, and the Windows 2000 client is a laptop computer user who occasionally travels between different office locations for business.
Event #1, at the home office, the Windows 2000 client makes a connection to the local print server. This local print server is running Windows NT 4.0 and contains only a version-2 driver for the printer in question. Let’s say, for example, that this is the “HP LaserJet 4000 Series PCL 6” version-2 driver. The Windows 2000 client is vended this version-2 print driver and because client and server are both running the same print driver, printing works as expected.
Event #2, the client takes a business trip to a remote site. While at the remote site, the client user needs to print and therefore makes a connection to a shared printer. The server for this shared printer at the remote site is hosted from a print server that has been migrated to Windows 2000 and contains a version-3 driver, which is also the “HP LaserJet 4000 Series PCL 6” print driver. Now, the client computer already has a print driver named “HP LaserJet 4000 Series PCL 6”, but it is a version-2 driver and Windows 2000 will prefer to use a version-3 print driver when it is available. So in this case, because the print server at the remote site has a matching driver, which is version-3, the Windows 2000 client will download this version-3 driver and will now run this print driver.
The connection to the remote print server silently upgraded the client computers print driver to a version-3 driver. While still at the remote site, the client and server are both running the same print driver and printing works as expected.
Event #3, when the client returns to the home office and tries to print, problems occur because the print driver being used on the client is not the same as that being used on the server and these two print drivers are incompatible with each other.
In the following scenario, the client first makes a connection to a Windows 2000 server with the version-3 “HP LaserJet 4000 Series PCL 6” print driver. Initially, because client and server are both running the same print driver, printing works as expected.
Event #4, the client makes a connection to a printer that also uses a “HP LaserJet 4000 Series PCL 6” print driver. But the print driver on this NT 4.0 server is a version- 2 print driver. Because the client already has a matching print driver that is version-3, it just continues to use this print driver. If these version-2 and -3 print drivers are not compatible, then printing problems will occur when trying to print to this second printer.
Migration strategies
What follows is the exploration of three different strategies for being able to support Point and Print in a mixed Operating System environment. The three strategies are not necessarily mutually exclusive but can in some cases be combined or partially used concurrently to ensure that all client computers are served with a supportable print driver configuration. Formulating a solution based on these strategies will involve examining the list of printers to be supported and the list of page description languages required for use on these printers along with other site-specific migration requirements and drafting a plan by which all client computers can be served with a supported driver configuration.
Strategy #1: Isolate Windows NT 4.0
In this approach we seek to avoid print driver compatibility issues altogether by isolating the Windows NT 4.0, clients and servers, from newer Operating Systems, thus running a dual printing environment temporarily.
This is accomplished by leaving existing Windows NT 4.0-based print servers in place to serve the existing legacy Windows NT 4.0 client base and deploying new Windows 2000 or .NET print servers to support the migrated client base running Windows 2000 or Windows XP. As clients are migrated, they are reconnected to the new print queues hosted on the new Windows 2000 or Windows.Net print servers. At then end of the migration when there are no more Windows NT 4.0 clients, the Windows NT 4.0 print servers can be retired.
This approach insures that the print servers and clients are always running the same correct print drivers, thus avoiding any incompatibilities that may exist otherwise.
Advantages of this approach include not having to do any additional work to the legacy NT 4.0 clients and servers and ending up with the proper version-3 drivers for all products at the end of the migration, and most importantly, all printer models and drivers can be supported using this approach.
Strategy #2: Use Windows NT 4.0 drivers to Support All Clients
Recall that Windows 2000, XP, and .NET are capable of running Version-2 print drivers. A simple approach might be to use Version-2 print drivers to support all servers and clients. In this way Version-2 and -3 print driver compatibility issues are avoided because only Version-2 print drivers are deployed in the solution. In fact, this is the recommendation Microsoft makes if driver incompatibility issues arise.
NOTE: Windows.NET Server blocks the installation of all version-2 print drivers by default. This blocking policy can be disabled through the Microsoft Management Console.
In General, this is a safe recommendation to make for Version-2 Postscript print drivers which are based on Microsoft’s Pscript driver core, however great caution must be mentioned here because, while HP’s version-2 PCL drivers are compatible with Windows 2000, they are not all compatible with Windows XP or Windows.NET. The HP version-2 PCL print drivers should not be installed on Windows .NET Servers nor should Windows XP clients connect to print queues hosted from Windows NT 4.0 print servers which only have version-2 PCL print drivers installed.
NOTE: By “installed” we mean that the print driver running the queue on .NET server should not be a version-2 PCL driver. It is acceptable to create a printer on .NET using a version-3 driver and add the compatible version-2 driver for NT clients according to the drivers listed in the previous table.
While this strategy has the advantage of simplicity, there are several disadvantages. Because of the restriction above for PCL-2 print drivers, not all printer products and page description languages can be supported. Another disadvantage of this strategy is the inherent risk associated with running version-2 print drivers. Finally, at the end of the migration period when all clients and servers have been migrated to newer Operating Systems, the print drivers being used will all be version-2 Windows NT print drivers; this would definitely lead to further work at a later time to upgrade all of the version-2 print drivers to their version-3 counterparts.
Also note that many older version-2 print drivers cannot be used with this strategy because they have been determined to be incompatible with Windows 2000, XP, and/or .NET and are blocked from installation by those Operating Systems. Therefore it will be necessary to update existing version-2 print drivers prior to deploying to migrated servers or clients.
Strategy #3: Use a Mix of Version-2 and -3 Drivers Support All Clients
In this approach, all of the version-2 and version-3 print drivers are installed on the print server which is necessary to support a mixed client base during the migration. As mentioned previously, these print drivers must be compatible with one another in such a way that they store the driver configuration in a format that is common to both drivers. HP has compatible print driver pairs available for most printers and page description languages. The following website provides the lists of printers and specific print driver versions that can be installed together on a server in this manner; click here to go to the following website at http://www.hp.com/pond/pnp/index.html .
Adding version-2 print drivers for NT 4.0 clients to existing print queues hosted on Windows 2000 or .NET Server is accomplished normally by accessing the Sharing tab on the printers Properties dialog and clicking on the Additional Drivers button.
Adding version-3 drivers for 2000/XP clients to existing print queues hosted on a Windows NT 4.0 Server is possible but requires a special work-around that is contained in the Microsoft Knowledge Base article 263090 ( Click here to go to the article at http:/support.microsoft.com/default.aspx?scid=KB;en-us;263090& ).
Please note that this article references another Knowledge Base article, 318577 ( Click here to go to the article at http://support.microsoft.com/default.aspx?scid=KB;en-us;318577& ). It will be necessary to follow the steps outlined in this second article to accomplish adding version-3 drivers to Windows NT 4.0.
If Windows NT 4.0 Server is to be used as a print server for this strategy, it may be necessary to update the existing version-2 print drivers to conform to the print driver version numbers listed in the tables on page 12 and 13.
For the newer LaserJet printer models, the version-2 and version-3 PCL drivers that are contained on the product CD and on the Hewlett-Packard home page. ( Click here to go to the HP home page at http://www.hp.com ). These drivers are based on completely different print driver architectures and are incompatible for the purposes of strategy #3. It will be necessary to obtain a special version-3 print driver for these products. These special version-3 print drivers will be compatible with the version-2 print drivers that ship with these printers. To obtain these drivers click here to go to the following website at http://www.hp.com/pond/pnp/index.html .
NOTE: There are compatible PCL5 and PCL 6 drivers available for these printers on a special Hewlett-Packard website. To download these drivers please click here to go to the site at http://www.hp.com/pond/pnp/index.html .
Problems and solutions
What drivers are installed?
To determine which versions of a particular print driver are installed on a computer, can open the printer Properties dialog for a printer that uses that driver and click on the Sharing tab and then click on the Additional Drivers button.
  • Print drivers listed with a check mark in the Environment column are installed on this computer.
  • Print drivers listed as “Windows NT 4.0” or “Windows NT4.0 or 2000” are version-2 print drivers.
  • Print drivers listed as “Windows 2000”, “Windows 2000 or XP” or “Windows 2000, XP or .NET” are version-3 print drivers.
Again, the Additional Drivers dialog will show which print drivers are installed for a particular print queue. To determine which types of print drivers are installed for all print drivers, perform the following steps:
  1. Open the Server Properties dialog from the Printers folder (Click File , Server Properties ).
  2. Click the Drivers tab. The Server Properties list the print driver names along with the Environment and Version information.
    NOTE: Windows NT 4.0 does not have a Drivers tab in its Server Properties dialog.
Information about installed print drivers can be obtained on Windows NT 4.0 by examining the following registry keys (for Intel x86 architectures):
  • HKLM\System\CurrentControlSet\Control\Print\Environments\Windows NT x86\Version-2
  • HKLM\System\CurrentControlSet\Control\Print\Environments\Windows NT x86\Version-3
Frequently asked questions
  1. I used MS Knowledge Base article 263090 to add version-3 print drivers to my Windows NT 4.0 print server, but my Windows 2000 clients are having printing problems.
    • It may be necessary to update the existing version-2 print drivers on the NT 4.0 print server to versions that are compatible with the version-3 print drivers. Refer to the tables on pages 12 and 13. If a compatible version-3 print driver is not available, consider using a Windows NT 4.0 Pscript-based Postscript print driver.
  2. XP clients connected to print queues hosted on our NT 4.0 print servers and the clients experience intermittent hangs/crashes.
    • Hewlett-Packard’s version-2 PCL print drivers are not compatible with Windows XP. If a compatible version-3 print driver is available, add this driver to the print server using the technique described in Microsoft Knowledge Base article 263090.
Reference materials
NOTE: Links to Microsoft's website are subject to change without notice.
Print Migrator Utility - backup/restore print queues; move print queues between servers
Fixprnsv.exe - used to identify Win2K blocked print drivers on qn NT 4 server
MS Knowledge-base article for installing version-3 print drivers on Windows NT 4.0 Server


Print this page