Thursday, April 21, 2011

Server 2008 R2 Print Server with 64 and 32bit drivers

Scenario: Mixed environment of 32 bit and 64 bit workstations / Terminal servers. You want to use one print server to serve out both architectures of both native and third party drivers.

Example drivers:
  • Native HP Laserjet 5
  • Native HP Laserjet 2200 PCL5
  • Native HP LaserJet 4100 PCL6
  • etc

First, prep your server and get the Print and Document Services role installed. I did this on 2008 R2 with SP1.


Open Print Management. Go to drivers and click add.

x64 install - this one is easy...

  1. Next
  2. Choose x64, Next
  3. Click Windows Update and wait (this gets you more drivers such as the LJ 5, yes it normally takes that long)
  4. Select your driver
  5. Next
  6. Finish (may take awhile if it's pulling from Windows Update)
  7. Told you it was easy.

But now you need the exact same driver in 32bit...

x32 install - Native drivers

  1. You have to pull the native driver from a x32 2008 server. So you'll need at least one 2008 SP2 32bit server in your environment.
  2. Click Add driver
  3. Next
  4. Choose x86, Next
  5. Note the list is blank, click Have Disk
  6. enter the following path where servername is the name of your 2008 32bit server. file://servername/c$/Windows/System32/DriverStore/FileRepository/prnhp*****
  7. In my case the actual inf was named prnhp001.inf_87f859f3. Not sure if this is always the case.
  8. Select the exact same driver that you did for x64.
  9. Note that for this to work properly it has to be the exact same driver name.

You know have the 32bit and 64 bit version of the Native MS driver.

Now you can do the same thing with your Third Party driver, but point the "Have Disk" to the .inf that you downloaded from their website. Note that again, you'll have to download both the 32bit and 64bit version of the same driver (unless of course they have 1 download that contains both versions)

Your driver windows should look something like this when your done... Notice that I have a x86 and x64 for each driver listed, but that they have the exact same name.

Hint: you can make driver names match via editing the .inf prior to driver installation. Test it well if you do as your mileage may vary from my results.