Windows 7 not in the sharing mood?

Today I was doing some work on the Nomad, now that is has Windows XP installed I have to confess I have found the system to be a lot more useful then it was under Lubuntu. Photoshop 6 vintage as it may be, still gives Gimp a run for it’s money.

So while I was doing some work with PS, I realised i needed a printer installing. Simply job right? you’d be mistaken, if the printer your wanting to add is connected to a system running a 64bit copy of Windows 7. As my main computer is also running Windows 7, I had no idea how unfriendly the new version of Windows is to XP. Is this perhaps a means of making people upgrade? by making older systems almost unusable? No wonder people are running to GNU Linux for salvation.

Image

So for the best part of an hour I was trying to work out how I get my printer to work in XP. Simply trying to add the printer was not working. Windows reports the drivers are not available for download from the host computer, e.g with Win7 machine. Even directing XP to the directory containing the XP drivers, windows refused to add the printer. So what the heck is going on?

Well it turns out its windows 7, what a surprise eh? When you install a printer in Windows 7, for me this was a Cannon Pixma 6600D. Windows installs the printer as “Cannon Inkjet IP6600D”. Which for some reason messes with how windows XP see’s the printer when it tries to install it. Below is a section of the original cannon drivers .inf file. Make note of the name.

[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 iP6600D” = CNM_0265, LPTENUM\CanoniP6600D3D0D, USBPRINT\CanoniP6600D3D0D, CanoniP6600D3D0D, CanoniP6600D

;WindowsXP
[Canon.NTx86.5.1]
“Canon iP6600D” = CNM_0265XP, LPTENUM\CanoniP6600D3D0D, CanoniP6600D
“Canon iP6600D” = CNM_0265XP, USBPRINT\CanoniP6600D3D0D, CanoniP6600D
“Canon iP6600D” = CNM_0265XP, BTHPRINT\CanoniP6600D3D0D, CanoniP6600D

Because Windows 7 named the printer “Canon Inkjet iP6600D”, XP does not see the original drivers as compatible, even tho they are. So how do we force XP to see the printer for what it is? There are two methods to try. I tried both of them before writing this blog, just to make sure they worked.

The first is to edit the .inf file within the directory containing your printer drivers. Either copy them off the driver disk that came with your printer or download them from the manufacturers website. If your downloading them, they will probably come as an .exe file and ask to unpack some where on your computer. I usually tell it “C:\temp”

Find the .inf file inside the directory, for me this was ip6600d.inf and open it. Find the part that looks like the above text, and enter it in as it looks on your Windows 7 machine. Here is what mine looked like after I altered it.

[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 Inkjet iP6600D” = CNM_0265, LPTENUM\CanoniP6600D3D0D, USBPRINT\CanoniP6600D3D0D, CanoniP6600D3D0D, CanoniP6600D

;WindowsXP
[Canon.NTx86.5.1]
“Canon Inkjet iP6600D” = CNM_0265XP, LPTENUM\CanoniP6600D3D0D, CanoniP6600D
“Canon Inkjet iP6600D” = CNM_0265XP, USBPRINT\CanoniP6600D3D0D, CanoniP6600D
“Canon Inkjet iP6600D” = CNM_0265XP, BTHPRINT\CanoniP6600D3D0D, CanoniP6600D

Now try adding a network printer on your XP system and when it asks, direct it to this .inf file, it should install.

Solution Number Two

This solution is probably a little easier to do and more suited for people who do not feel comfortable editing files.

1. On the Xp machine, Add Network Printer. Browse for printer.

Xp found the Canon Inkjet iP6600D on the Windows 7 machine.

2. COPY the network path (\\windows7machine\printername

3. Cancel the install.

4. On the Xp machine, Add A Printer
5 Add a local Printer
6 Create a new port
7. From drop-down list, select ‘ local port’
8. In “Enter Port Name”, PASTE the network path found in 2 above

Click the ok and print a test page.

Hopefully this should get you up and running, credits go to the guys on techguy forums and also superuser.

Superuser Reference Link
Techguy Forum Reference Link