This is in continuation of the topic discussed by John Dickson in his blog post entitled Installing Windows Vista Print Drivers on Windows Server 2003

With advancing technology and increasing demand for resources, many enterprises are now opting for 64-bit operating systems on their servers. The OS on the client machines could be either 32-bit or 64-bit depending in the customer’s environment and requirements.

We are specifically dealing with Print server in this article. When we deploy a 64-bit print server which is to cater to 32-bit clients, usually the clients use the point and print functionality to connect to the desired print queue on the print server and drivers are mapped.

This requires the 64-bit print server to have 32-bit printer drivers installed.

Following are the steps to install 64-bit printer drivers on a 32-bit server. We will also discuss a common issue that we see during installation. (I’ll also be enumerating the steps implemented vice-versa i.e. Installing 64-bit printer drivers on a 32-bit server)

Note: File and Printer Sharing must be enabled.

Installing 64-bit printer drivers on a 32-bit server:

Local Method:

1. Go to the Printers and Faxes folder.

2. Go to the properties of the print queue for which you intend to add the x64 driver.

3. Go to the Sharing tab and choose Additional Drivers.

4. Choose x64 as the processor type and click OK.

5. When prompted, point to the location of the x64 driver.

This should install the additional x64 drivers required for the x64 clients to print through the x86 servers.

You can also perform the above steps remotely from another machine by connecting to the print server using the UNC path \\printservername and then browsing to the Printers and Faxes folder.

Another option is to install the driver remotely using the Add Driver wizard. To do this:

1. Logon to the 64-bit server with an Administrator account. This account has to have administrative privileges on the 32-bit print server as well.

2. Connect to the print server using the UNC path (Start -> Run -> \\32BitPrintServer)

3. You should see the Printers and Faxes folder. Open this folder

4. Go to File--> Server Properties -> Drivers tab and choose Add Driver. Using this option add the required driver by choosing the appropriate architecture type.

Note: When you add the driver directly it doesn’t check if the driver matches the existing x86 version. If it does not the clients may not be able to download the driver and print successfully. See the section on Issues for details.

A great scenario to use the remote install option is when you don’t have the OEM version of the x64 driver available or if you prefer to install the inbox drivers instead.

When you install remotely by connecting through UNC, it first looks for the driver in the local driver store. If available, it will install the driver without any further prompts. Only if an inbox driver is not available will it prompt for the driver location.

You can also take advantage of this method to install inbox 32-bit drivers, where the print server doesn’t have an inbox driver for the printer, but a later version of the OS has the required drivers inbuilt.

Installing 32 Bit printer drivers on a 64 Bit server:

· Login using a domain administrator account to a 32 bit machine.

· On any one of the clients machine running 32-bit OS

· Access the print server \\PrintserverName\Printers

· Open the printer required to add the 32-bit driver

· Go to properties -> Sharing Tab -> Additional drivers

· Check the box with appropriate architecture type.

In this case it is nothing but using the same steps as in the x64 driver scenario, but in this case the additional driver we will be adding will be a 32bit driver.

Common Issues seen while installing a 32-bit driver on a 64-bit server and vice versa.

1) Option to choose OS architecture i.e. x64 could be grayed out.

2) You may see the error ‘Driver is not installed.

3) You may see architecture incompatibility errors while trying to install drivers.

The x64 option could be grayed out or not visible if the OS on the print server doesn’t support or is not aware of the x64 architecture. A good example is Windows 2000 print servers where you cannot add an x64 driver.

The option is also grayed out in Windows Server 2003 RTM (without any Service Pack)

The ‘Driver is not installed’ error can occur if the additional driver you installed doesn’t match the existing driver in name and INF parameters.

These names need to be the same if the driver installation is to go through without errors.

An example of this is a recent case I was working where we needed to install a 32-bit driver for an already present (inbox) HP LaserJet 8150 PCL 5 x64 driver.

The obvious thing to do first was to obtain the 32-bit driver from the OEM website for installation. Upon looking for the HP LaserJet 8150 PCL 5 (32 bit) driver, we find that vendor gives us the option to download HP Universal Print Driver for Windows PCL 6. Hence we downloaded and tried installing it, but this failed.

The problem was that when we were using the inbox 64-bit driver to install the HP LaserJet 8150 PCL 6 driver, the actual driver is named “HP LaserJet 8150 Series PCL6”.

However, the HP LaserJet 8150 PCL 6 (32-bit driver) from the HP website is named “HP Universal Printing PCL 6”.

As you see, the names are different and hence the installation errors out. The same installation goes through successfully if we download the HP LaserJet PCL 6 32-bit driver from the website. This is because the driver is named “HP Universal Printing PCL 6”, which is the same name as the 64-bit driver.

NOTE: You may need to open the .INF and do a search for the Sharp printer and rename it to be the same as the other name from the working .INF.

I hope this helps to give you a better understanding of some of the nuances of print driver behavior on various types of servers.

Thank you very much for your time,

Aamer Shedam