Take the 2-minute tour ×
Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

I've successfully installed Windows 7 (x64) and drivers for my Canon MP510, and have no problem printing with this setup.

There is another PC in the network running XP SP3, and I want to share the printer so that users of that PC can also print.

On W7 I have the option of installing additional printer drivers for other system architectures (Itanium and x86). I've downloaded the most current 32-bit drivers for the printer, but every time I direct the install dialog to the folder containing the drivers, I get the following error message:


Selected printer driver not found

The specified location does not contain the driver Canon Inkjet MP510 Printer for the requested processor architecture.

Retry Cancel

I'm stumped. I'm absolutely certain that the specified location actually does contain the correct drivers; I've even installed them on the XP system.

I've tried everything I can think of. What am I overlooking?

share|improve this question

8 Answers 8

up vote 27 down vote accepted

Finally cracked it! It's to do with the printer name in the driver's inf file.

When I installed Windows 7 it automatically installed the MP600 driver but it called it "Canon Inkjet MP600 Printer". NOTE Inkjet. When you unzip the Canon driver and look in its driver folder the printer inf file is called MP600PR.inf. Edit this file with Notepad and you will find:

[Manufacturer]
"Canon" = Canon,NTx86.5.1

;
; Model sections.
;
; Each section here corresponds with an entry listed in the
; [Manufacturer] section, above. The models will be displayed in the order
; that they appear in the INF file.
;


;Windows2000
[Canon]
"**Canon MP600 Printer**" = CNM_0295XP, USBPRINT\CanonMP600718E, CanonMP600718E, CanonMP600

;WindowsXP
[Canon.NTx86.5.1]
"**Canon MP600 Printer**" = CNM_0295XP, USBPRINT\CanonMP600718E, CanonMP600
"**Canon MP600 Printer**" = CNM_0295XP, BTHPRINT\CanonMP600718E, CanonMP600

Canon just calls the printer "Canon MP600 Printer". Since the names are not exactly the same windows does not think that the drivers are for the correct printer. Just edit the inf file to "correct" the name and it installs without a problem.

share|improve this answer
    
This works! Great! Thanks! –  Tom Aug 25 '09 at 13:26
1  
+1 for sweet troubleshooting. –  Andrew Coleson Oct 28 '09 at 19:11
    
This worked beautifully, and will try to remember it next time there is some similar dodgy drivers issues with Windows. –  Bazman Jan 17 '10 at 3:39
    
You are a scholar and a gentleman. –  Rydell Oct 5 '10 at 0:16
    
And you will break the digital signature. –  kinokijuf Feb 24 '12 at 16:36

I had precisely the same problem with an HP LaserJet 1200: it's connected via USB to a Windows 7 x64 machine, but I want to print across the network from XP SP3 x86 machine.

I finally figured out how to edit the INF so that I could install the x86 'Additional Driver':

The printer goes by the name 'HP LaserJet 1200 Series PCL 5' both in Windows 7 and on HP's driver support website. However, the driver that HP offers is for 'HP LaserJet 1200 Series 5e'. According to HP documentation, 5 and 5e have the same functionality.

  1. Navigate to and download the 'HP Laserjet 1200/1220 PCL 5e Driver'. DO NOT use the HP Universal Print Driver for Windows PCL5. For some reason, the INFs completely skip the 1200 series, going from 1150 to 1300.

  2. Unzip the driver package into a folder. For me it was C:\LJ1200.

  3. Edit the INF text file (HPBF311i.inf).

  4. Near the bottom of the file, under the '; Localizable Strings' header, change the names fof Printer1 and Printer2 from 'HP LaserJet 1200 Series PCL 5e' to 'HP LaserJet 1200 Series PCL 5'.

  5. Your print driver will now install from the x86 Additional Drivers wizard in Windows 7! (You'll have to click through the 'Unsigned Driver' warning.)

share|improve this answer

Editing driver inf files with the correct and exact name of the printer did not work for me. Instead I succeeded with a work-around by installing the printer directly to the client XP computer as a local computer. Then I created a new local (not network) port on the client that pointed to the Win 7 server computer. Both client XP 32 bit computers can now print to the printers installed on the Win 7 64 bit server computer.

Canon Support site has excellent instructions on printer sharing and setting up a local printer port. Ask: How do I share the printer between Windows XP and Windows Vista computers? The solution works for Windows XP and Windows 7 comptuers.

This is a lot easier than trying to "add additional drivers" for client computers under Win 7.

share|improve this answer

I think you should be able to extract the file that you've downloaded (using 7-zip or winzip) then point windows 7 at the folder that contains the extracted files when you're doing the install additional drivers wizard.

share|improve this answer
    
Well, yes. That's exactly what I am doing. There is an .inf file, I can use the drivers to install a printer on XP (even though the printer isn't physically attached to that computer). That's why I claim that the correct drivers are available. –  Tom Aug 18 '09 at 11:35
    
I didn't have a 64bit pc handy but I've just tried doing the reverse and installed the 64bit drivers on a 32 bit pc. In the printer sharing options after clicking additional drivers I ticked the x64 box then in the wizard that followed I pointed it at the Drivers folder in the extracted files and it installed fine. It should work for you doing it the other way round. –  Col Aug 18 '09 at 12:58
    
Thanks for confirming. As you say, it should work, and I would expect it to, but so far, no success. –  Tom Aug 18 '09 at 19:34

I tried the above proposed solutions, but unsuccessful. I managed to use the tips here to come up with a solution that did work though. I posted my steps followed here:

  1. Install printer with appropriate drivers for Windows 7 OS
  2. Right Click for Printer Properties
  3. Sharing Tab – Change Sharing Options
  4. Drivers…Additional Drivers
  5. Check x86 checkbox
  6. Search for Drivers
  7. Download Windows XP drivers for Printer (from Manufacturer site)
  8. Open Windows 7 Driver file (.inf)
  9. Open Windows XP Driver file (.inf)
  10. Change following variable value in Windows XP Driver file to be exact same as Windows 7 Driver file variable value: DriverPackageDisplayName= “put value of Windows 7 variable here…
  11. Save Windows XP Driver file (.inf), after changes above
  12. Select Windows XP Driver in Printer Properties > Sharing wizard
  13. Windows may say that driver is unverified…ignore and allow it to continue

You’re done!

share|improve this answer

Solution .... just have Windows 7 update all its printer drivers (on 32Bit OS), and it should then work.

if you dont know how to do that ......

Mannually try to install print drivers (for any printer, locally) then where it says drivers, click update windows drivers, close/ cancel printer install, then try and connect to your network printer on the 64 bit OS from the 32 and it should then work

hope this helped !!!

share|improve this answer

I found the x64 version of the driver (for HP) and replaced the windows-driver with the one I installed from HP (there's a place to change the driver for an already-installed printer on windows7). I then was able to add the x86 version of the driver as they had the same names. The driver I used was a 'universal PCL 5' diver rather than the one specific to my printer (HP CP 1510), and it seems to work fine.

After switching to a mac, I'm blown away as how complex things like installing drivers on windows is simplified. Adding a printer takes like 2 clicks, and it figures out where I am (laptop) and automatically prints on the appropriate printer. It just works.

share|improve this answer

I had precisely the same problem with an Brother HL-2140: it's connected via USB to a Windows 7 x64 machine, but I want to print across the network from Vista x86 machine.

I finally figured out how to edit the INF so that I could install the x86 'Additional Driver':

The printer goes by the name 'Brother HL-2140' in Windows 7. However, the inf file calls out 'Brother HL-2140 series'.

  1. Navigate to and download the 'Windows Vista' driver
  2. Unzip the driver package into a folder.
  3. Edit the INF text file (BROHL07.inf).
  4. Look for [DriverName] section and change "Brother HL-2140 series" to "Brother HL-2140"
  5. Your print driver will now install from the x86 Additional Drivers wizard in Windows 7! (You'll have to click through the 'Unsigned Driver' warning.)

Go to your Vista Machine and add new printer. This worked like a charm and took me a couple of months to find this solution.

Thanks for the great information! Same problem with Brother MFC-7340. Windows 7 installed it as "Brother MFC-7340", shown under General tab of "printer properties", whereas the brpr7340.inf for x86 was "Brother MFC-7340 Printer" for [MFC_PRT] and MFC_PRT.NTx86]. Once the name was changed to "Brother MFC-7340" in the .inf file, the additional driver could be added on the Windows 7 side. Then the driver could be installed on the Vista machine. The only way to get the driver to the Vista side was from the Windows 7 machine to which the printer was connected.

share|improve this answer

protected by random Oct 17 '10 at 2:56

Thank you for your interest in this question. Because it has attracted low-quality answers, posting an answer now requires 10 reputation on this site.

Would you like to answer one of these unanswered questions instead?

Not the answer you're looking for? Browse other questions tagged or ask your own question.