Windows – How to share a printer on Windows 7 x64 with Windows XP x86

network-sharesprinterwindows 7windows xp

I'm trying to share a printer that's on Windows 7 64-bit with Windows XP 32-bit.

I've tried:

  • Using the Add Printer Wizard on XP
    • Selecting network printer
    • Browsing for the printer and selecting it from the list
    • Attempting to browse manually for the drivers, I receive the error `Windows cannot locate a suitable printer driver. Contact your administrator for help locating and installing a suitable driver.

I would prefer to load the drivers on the Windows 7 PC, much like a print server. I've tried:

  • Opening the printer properties
  • Clicking the Sharing tab
  • Clicking Additional Drivers...
  • Checking the x86 box
    • Attempting to add Windows XP x86 drivers, which generates the error The specified location does not contain the driver for the requested processor architecture

For what it's worth, this is an HP P4014n and I can't run a network cable. I'm using the universal print drivers PCL6.

How does printer sharing work with 64-bit Windows 7 acting as a server for Windows XP 32-bit?

  • What drivers do I need to install under the Additional drivers... dialog?
    • Are they XP drivers or Windows 7 drivers? Why?
    • Do driver versions have to match? Why?
  • Why does adding as a network printer and installing the XP drivers not work?
  • Why does adding a local printer and installing whatever drivers I want work?

Best Answer

Install the printer on your Windows 7 machine, with the Windows 7 driver. Share the driver, and get the path name for it (i.e. \\MACHINENAME\PrinterName). On the XP computer, do the following:

  1. Start the Add New Printer wizard
  2. Select a Local Printer, do not auto detect
  3. Choose a New Port->Type is Local Port
  4. In the dialog, type \\MACHINENAME\PrinterName as it appeared above on the Windows 7 machine
  5. On the driver selection page, either use Have Disk to get the driver, or select from the list
  6. Continue with the wizard until finished

You can get the hostname (\\MACHINENAME) either from System Properties, or by running HOSTNAME at the Command Prompt. The Share Name is what the printer is shared as in the Printer Properties->Sharing tab

Related Question