Printer sharing problem (win7 / WinXP): Canon pixma USB printer

15,287

Solution 1

I had a similar problem. Windows 7 64-bit with canon pixma 4500 which I wanted to share with Vista 32-bit.

Printer worked under Windows 7, connected to the Vista laptop also, but wouldn't share.

I downloaded the canon driver (NOT the add-on module) from canon for 32-bit Vista to the Windows 7 PC.

It comes as a selfextracting executable, but this will not run on Windows 7 64-bit. Exctract it using winzip. You'll end up with a driver folder in which you find the .inf file (in my case ip4500.inf).

It should be possible to add it as a driver for the x86 architecture through start->devices and printers, select you printer, rightclick, select printer properties and then enable the sharing options and select install additional drivers. Click on x86 and press OK. Point to the location of the inf file and press ok. The 32-bit printer driver should be added to your Windows 7 64-bit.

I say 'should' as in my case it did not work immediately. Instead of installing, Windows 7 could not find the proper driver (in my case for 'Canon Inkjet ip4500 series').

To solve this, use notepad to edit the .inf file of the downloaded driver. In it, there are 3 locations where the printer is described as 'Canon ip4500 series'. Add the word 'Inkjet' to it at the right place and try again. It worked for me.

Apparantly, Canon or Microsoft had been so 'wise' to rename the printer from 'Canon ip4500 series' to 'Canon Inkjet ip4500 series'. Windows 7 is so 'smart' to look for an extra driver only on your local PC (rather than find it the same way Windows update will find it) and only based on the (renamed) printer name in the Windows 7 driver (rather than the key provided by the printer itself).

Solution 2

Had same problem with PIXMA IP4000 trying to share from Win7 64bit to Win7 32bit. This solution worked for me: "To solve this, use notepad to edit the .inf file of the downloaded driver. In it, there are 3 locations where the printer is described as 'Canon ip4500 series'. Add the word 'Inkjet' to it at the right place and try again. It worked for me."

Effing frustrating, considering the 32bit machine could connect to the printer via USB and print fine. The issue was only when trying to share through the 64bit machine that this stupidity occurred.

  1. I downloaded and ran the exe for the Add-On 32-bit version on my 64-bit machine.
  2. The ip4000.inf file to edit was then found in: C:\Windows\System32\DriverStore\FileRepository\ip4000.inf_x86_neutral_51f411ebeaacaab1
  3. I edited, and saved.

  4. To add the 32bit driver, then I right-clicked on the already installed and working printer and chose Printer Properties > Add Drivers, enabled the 32-bit checkbox, and then pointed to the inf file I had modified. It installed.

Thanks for the tip.

For reference, this is what my ip4000.inf file looked like after it was edited:

; iP4000.INF (for Windows 2000 Monolithic driver)
;
; List of supported printers, manufacturers
;

[Version]
Signature="$Windows NT$"
Provider=%CANON%
ClassGUID={4D36E979-E325-11CE-BFC1-08002BE10318}
Class=Printer
CatalogFile=iP4000.cat

DriverVer=04/23/2004, 1.80.2.50

;
; Manufacturer section.
;
; This section lists all of the manufacturers
; that we will display in the Dialog box
;

[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 PIXMA iP4000**" = CNM_0220, LPTENUM\CanoniP4000F4F6, USBPRINT\CanoniP4000F4F6, CanoniP4000F4F6, CanoniP4000

;WindowsXP
[Canon.NTx86.5.1]
**"Canon Inkjet PIXMA iP4000" = CNM_0220XP, LPTENUM\CanoniP4000F4F6, CanoniP4000
"Canon Inkjet PIXMA iP4000" = CNM_0220XP, USBPRINT\CanoniP4000F4F6, CanoniP4000**

[CNMDRV_DATA]
DriverFile=CNMDR64.DLL
ConfigFile=CNMUI64.DLL
HelpFile=CNMMH64.HLP
LanguageMonitor=%CNM_BJ_MONITOR%
PrintProcessor=%CNM_BJ_PPROC%

[CNMDRV_DATA_XP]
DriverFile=CNMDR64.DLL
ConfigFile=CNMUI64.DLL
HelpFile=CNMMH64.HLP
LanguageMonitor=%CNM_BJ_MONITOR%
PrintProcessor=%CNM_BJ_PPROC%

[CNM_0220]
CopyFiles=CNMBJDRV,CNMLMON,COLOR_PROFILE,CNMPP,CNMVS,CNMWRAP
DataSection=CNMDRV_DATA
DataFile=CNMCP64.DLL

[CNM_0220XP]
CopyFiles=CNMBJDRV,CNMLMON,COLOR_PROFILE,CNMPP,CNMVS,CNMWRAP
DataSection=CNMDRV_DATA_XP
DataFile=CNMCP64.DLL


; Copy Sections
;
; Lists of files that are actually copied. These sections are referenced
; from the installer sections, above. Only create a section if it contains
; two or more files (if we only copy a single file, identify it in the
; installer section, using the @filename notation) or if it's a color
; profile (since the DestinationDirs can only handle sections, and not
; individual files).
;

[COLOR_PROFILE]
CNB64CA0.ICM,,,0x00000020
CNB64CB0.ICM,,,0x00000020
CNB64DB0.ICM,,,0x00000020
CNB64EB0.ICM,,,0x00000020
CNB64ED0.ICM,,,0x00000020
CNBJPRN2.ICM,,,0x00000020

[CNMBJDRV]
CNMDR64.DLL,CNMDRV.DLL
CNMD564.DLL,CNMDUMP5.DLL
CNMUI64.DLL,CNMUI.DLL
CNMUR64.DLL,CNMUR.DLL
CNMSR64.DLL,CNMSR.DLL
CNMIN64.INI,CNM.INI
CNMPI64.DLL,CNMINST.DLL
CNMSM64.EXE,CNMSTMN.EXE
CNMSS64.SMR,CNMSTSR.SMR
CNMSD64.EXE,CNMSMSD.EXE
CNMSQ64.EXE,CNMQUEUE.EXE
CNMSH64.HLP,SH64US.HLP
CNMSH64.CNT,SH64US.CNT
CNMCP64.DLL,CNM_0220.DLL
CNMUB64.DLL,CNMBR220.DLL
CNMOP64.DLL,CNMOP63.DLL
CNMSB64.DLL,CNMP_220.DLL
CNMMH64.HLP,MH64US.HLP
CNMMH64.CNT,MH64US.CNT
CNB_2200.TBL
CNMP064.DAT,CNMP0.DAT
CNMP164.DAT,CNMP1.DAT
CNMP264.DAT,CNMP2.DAT
CNMFU64.DLL,CNMFUS.DLL
CNMPV64.EXE,CNMPV.EXE
CNMPH64.HLP,PHUS.HLP
CNMPH64.CNT,PH64US.CNT

[CNMLMON]
CNMLM64.DLL,CNMLMON2.DLL,,0x00000020    ; Copy only if new binary

[CNMPP]
CNMPD64.DLL,CNMPD.DLL,,0x00000020
CNMPP64.DLL,CNMPP.DLL,,0x00000020

[CNMVS]
CNMVS64.DLL,CNMVS.DLL

[CNMWRAP]
CNMW364.DLL,CNMW3.DLL

;
; OEM URLS
;
; This sections gives the URL for manufacturers found in the Manufacturers section
;
[OEM URLS]
"Canon" = "http://www.canon.com/support/index.html?model=%model%"

;
; Call SetupSetDirectoryId with 66000 to set the target directory at runtime
; (depending on which environment drivers are getting installed)
;

[DestinationDirs]
DefaultDestDir=66000
CNMPP=66001
CNMVS=11
CNMLMON=66002
COLOR_PROFILE=66003

;
;  Source Disk Section
;  This was added to enable Web Point&Print.
;  All files added to this must also be added to Layout.INF
;

[SourceDisksNames.x86]
1   = %DISK1%,,

[SourceDisksFiles]
CNMDRV.DLL    = 1
CNMDUMP5.DLL   = 1
CNMOP63.DLL    = 1
CNMUI.DLL      = 1
CNMUR.DLL      = 1
CNMLMON2.DLL    = 1
CNB64CA0.ICM    = 1
CNB64CB0.ICM    = 1
CNB64DB0.ICM    = 1
CNB64EB0.ICM    = 1
CNB64ED0.ICM    = 1
CNBJPRN2.ICM   = 1
CNM_0220.DLL    = 1
CNMBR220.DLL   = 1
CNMP_220.DLL    = 1
CNMSR.DLL      = 1
CNM.INI        = 1
MH64US.HLP     = 1
MH64US.CNT     = 1
CNMINST.DLL    = 1
CNMSTMN.EXE    = 1
CNMSTSR.SMR    = 1
CNMSMSD.EXE    = 1
CNMQUEUE.EXE    = 1
SH64US.HLP     = 1
SH64US.CNT     = 1
CNB_2200.TBL   = 1
CNMPP.DLL      = 1
CNMPD.DLL      = 1
CNMP0.DAT      = 1
CNMP1.DAT      = 1
CNMP2.DAT      = 1
CNMVS.DLL      = 1
CNMW3.DLL      = 1
CNMFUS.DLL     = 1
CNMPV.EXE      = 1
PHUS.HLP       = 1
PH64US.CNT     = 1

; Localizable Strings
;
[Strings]
CANON="Canon"
CNM_BJ_MONITOR="Canon BJ Language Monitor PIXMA iP4000,CNMLM64.DLL"
DISK1="Canon Bubble Jet Printer Driver Disk"
CNM_BJ_PPROC="Canon Inkjet PIXMA iP4000 Print Processor,CNMPD64.DLL"
Share:
15,287

Related videos on Youtube

Rabarberski
Author by

Rabarberski

Updated on September 17, 2022

Comments

  • Rabarberski
    Rabarberski almost 2 years

    For a friend, I am trying to share a USB Canon pixma ip3000 printer between two computers in his home network. But I can't get it to work due tot a Canon driver problem.

    The printer is connected to the Windows 7 (64 bit) computer, and we would like to be able to print from a Windows XP computer. 'Normally' it should be no problem to use Windows printer sharing, however, because one machine is 32-bit and the other is 64-bit, installing an extra driver is required. T he driver provided by canon (here) is described as a 'Canon Inkjet Printer Driver Add-On Module'. The problem is that the .inf file contained in the .exe file isn't accepted as a driver when prompted by the Printer Sharing Wizard, I suspect because it is an add-on driver (whatever that may be).

    I've connected and installed the printer locally on the XP machine first (which works), so that the XP machine would already know the driver when using it as a network printer, but that doesn't work; the wizard still wants a driver file.

    Anybody suggestions how to get this working? Maybe there is some sort of generic driver (would be OK even with limited functionality)?

  • Steve Townsend
    Steve Townsend about 13 years
    Wow. Stellar info and detective work. Just what I needed to share this printer from Win7 to WinXP, thanks.