Windows 7 Forums
Welcome to Windows 7 Forums. Our forum is dedicated to helping you find support and solutions for any problems regarding your Windows 7 PC be it Dell, HP, Acer, Asus or a custom build. We also provide an extensive Windows 7 tutorial section that covers a wide range of tips and tricks.


Windows 7: Trying to install x86 drivers for Canon S800 printer on x64 Win7


12 Mar 2011   #1
dsperber

Windows 7 Pro x64 (1), Win7 Pro X64 (2)
 
 
Trying to install x86 drivers for Canon S800 printer on x64 Win7

(1) Two machines on the home network: (a) Win7 x64, (b) WinXP x86.

(2) Two printers connected locally via USB to Win7 machine: (a) Canon MF4370dn, (b) Canon S800.

Both printers are now installed successfully on the Win7 machine.

(3) The S800 was supported immediately by Win7 as soon as I plugged in the USB cable. Drivers were installed successfully, and there was no problem at all.

(4) In contrast, the MF4370dn was not installed successfully when I plugged in the USB cable. However I was able to download a Win7 x64 driver installer file from the Canon support site (MF4370-4380_MFDrivers_Win_x74_EN-8.exe).

Running this self-extracting EXE and then running the resulting SETUP.EXE didn't actually install the printer, but it did plant the proper drivers where Win7 could then find them.

I then unplugged the USB cable and re-plugged it, and this time the Win7 new device discovery repeated and WAS now able to locate the necessary x64 drivers (planted by the EXE I mentioned above) and now the installation of the MF4370 was completed successfully.

(5) Next, I wanted to "share" the two printers which were locally connected to the Win7 x64 machine, and make them accessible to the WinXP x86 machine for printing.

This is standard procedure, by using the "Additional Drivers" button on Printer Properties -> Sharing tab. You simply have to check the x86 radio button, push the OK button, and then navigate to where the INF file is located for the x86 driver. Win7 theoretically finds it there, installs it as a second driver for the printer, and now shows both x64 and x86 drivers as installed -> "YES".

Then, when the network view of the Win7 machine from the WinXP machine is opened, and the shared printer(s) selected and right-clicked, selecting the "Connect..." item causes Win7 to ship the x86 driver over to WinXP, a connection through a virtual USB port type is established (it shows as USB001 or similar in the PORT name), and bingo... you have the printer connected to and hosted by the Win7 x64 machine now available for printing both by Win7 and also WinXP x86.

This is how it is supposed to work.

(6) I was again able to locate the x86 drivers for the MF4370 printer on the Canon site (MF4370_MFDrivers_Win_x32_us_EN-7.exe).

Again, running this self-extracting EXE produces what would normally be run as a SETUP.EXE on the WinXP machine. But in this case, I didn't run SETUP.EXE. Instead, I went through the above "Additional Drivers" process on Win7 as I described above, navigating to the expanded folder from this 32-bit driver file which contained the needed INF file.

And, the process was successful and the second x86 driver was now marked as "installed YES".

I then went through the "Connect" dialog on the WinXP machine, selecting the "shared" MF4370 printer which was visible in the network view of the Win7 machine from WinXP. And exactly as is supposed to happen, Win7 shipped across the newly installed x86 driver to WinXP, the USB001 port was created and the connection established to the virtual USB printer, and bingo... I now can print on the MF4370 from both Win7 x64 and also from WinXP x86.

Excellent.

(7) Now... I wanted to repeat this exact step (6) above, but for the second printer, the S800.

Unfortunately, Canon does NOT provide a driver file for the S800 WinXP that contains the usual SETUP.EXE and INF file, which would be usable for the "Additional Drivers" install of Win7 (as I just did successfully for the MF4370 printer, because Canon DID provide a proper driver package for that printer).

Instead, Canon provides a JAVA-based installation file for the S800 on WinXP (S800_2KXP_v152.exe). If you run this file on WinXP it will absolutely run perfectly and to completion, and WILL install the S800 printer. But the S800 is presumably expected to be connected locally via USB, to the WinXP machine. And if you connect the printer locally to that WinXP machine, it DOES print perfectly.

However this is unacceptable for use in the "Additional Drivers" dialog of Win7, when trying to add that second x86 driver for the S800 that's already installed successfully in x64 mode on Win7.

In fact, if I try to go through the "Connect..." process on WinXP, having selected the visible "shared" S800 printer on the Win7 machine, the step which would normally ship the presumably installed second x86 driver over from Win7 to WinXP obviously fails, because that second x86 driver is not installed on Win7.

So... for the moment, complete failure. I could not see any way to get the S800 locally attached to the Win7 machine to be usable as a printer on the WinXP machine.

(8) My first attempt at workaround was to actually RUN that v152 JAVA-based driver software installer on the WinXP machine. I figured that if the true x86 driver was already installed on WinXP, then you'd think Win7 wouldn't need to ship the x86 driver over at "Connect..." time. Instead, only the connection process would need to be performed (and the driver already installed on WinXP used), and this should work.

Well, not the case unfortunately. Win7 never really cared that the needed print driver was already installed on WinXP. It still wanted to ship its own second x86 driver across and it didn't have one to ship. So the "Connect..." process simply failed and aborted.

--->> no printer added to WinXP.

(9) I then thought well maybe I can just "ADD PORT", to re-connect the now installed S800 printer on WinXP (from that JAVA-based printer/driver installer that I'd previously run in step (8)) from what it would have wanted to be the locally USB attached S800, to the S800 on the Win7 host machine (whose name is Gateway).

So I did just that, specifying the newly added port as \\Gateway\Canon Inkjet S800 (which is the true printer name of the S800 on the Win7 machine). WinXP seemed to be happy, and no errors were presented. Looked good.

I then tried to print a test page, and unfortunately the document simply landed in the WinXP print queue for the printer and never went anywhere. Obviously it was NOT shipped across to Win7 for printing.

I now have decided that this is the wrong thing to do, as the Win7 machine isn't really a "print server", where this kind of port designation might be appropriate. So this is simply wrong, to think I could "ADD PORT" and designate it that way.

Of course what I really wanted to create was the same type of USB001 port that got built automatically for the other MF4370 printer (from the successful "Connect..." dialog, because the second x86 printer driver DID get installed successfully on Win7, because Canon DID package the WinXP x86 driver as an INF file so that Win7's "Additional Drivers..." process was happy).

But there's no way to manually do this creation of the USB001 connection. It appears to be done by WinXP when "Connect..." is successful (dependent on that second x86 driver installed properly in Win7), but if "Connect..." is not successful then you have no way of building that USB001 manually.

(10) I then spent 6 hours on the phone with both Canon and Microsoft ($59 charge, of course, but I can accept that), trying to figure out how if at all possible this problem can be resolved.

The real problem, of course, is that Canon did NOT build the WinXP x86 driver package for the S800 "conventionally", based around a SETUP.EXE and an INF file, as they HAD done for the MF4370. Instead, they built this JAVA-based installer for the S800 driver on WinXP... which works great for WinXP but is useless anywhere else, and especially useless for Win7's "Additional Drivers" dialog.

Microsoft located what they believed to be the acceptable x86 driver on their support site, based on the S800's hardware id of "CanonS8001A09" (from the printer's Properties -> Details -> Hardware ids on Win7).

This resulted in my downloading a file named:

X86-all-4455_99f589b0fa94cc06810c1edf4a11485d29d33580.cab

And when I unpacked that, sure enough it produced an INF file (PRNCA00t.inf) as well as an I386 sub-folder containing all of the relevant DLL's, GPD's, etc.

So far, this seemed promising.

(11) I then tried to use this INF file location in the "Additional Drivers" dialog for the S800 printer to add that second x86 driver. It looked like it started ok, but then stopped asking me for the location of where it could find NTPRINT.INF

Turns out this is a well known and annoying Win7 issue faced (and eventually conquered) by a number of other users. Thanks to this thread on another forum I was able to satisfy Win7's desire for NTPRINT.INF successfully. Actually, this is only a 1-time problem and once you solve it (and let Win7 install it) you will never be asked for it again for any other "Additional Drivers" dialogs you may go through for other printers.

(12) Anyway, having now gotten past this first obstacle in the use of the Microsoft-provided Canon S800 INF folder that actually had appeared to get started properly before running into the NTPRINT.INF issue, I was fully expecting the "Additional Drivers" dialog to now complete successfully.

Well, no such luck.

Instead, I now got another request from Win7... asking me to point to the location where the INF file for the "core print driver" was located. And the print driver it was looking for was [804413D9-64A9-405E-B65F-DA8B8EBAC932], which is in fact the S800 driver name.

I did a Google search on that driver name value, and was able to locate another INF file (PRNCA00x.inf) which seemed to be structured a bit differently than the PRNCA00t.inf file contained in the Microsoft-provided Canon S800 folder. So I placed this second INF file in the same folder along with the Microsoft INF file, and tried again.

(13) Well... no luck. Win7 continues to ask me for that driver. No matter whether I point to PRNCA00t.inf or PRNCA00x.inf I get the same result:



So I don't know if it's really using PRNCA00t.inf or PRNCA00x.inf. But regardless, it's failing to find whatever it really wants to find.

(14) Again, I strongly believe the culprit here is Canon, which failed to provide an INF-based driver installer file for WinXP for the S800, as in contrast they did do for the MF4370.

So whereas the x86 driver for the MF4370 installs perfectly as a second driver using "Additional Drivers" on Win7, there is no such ability for the S800.

Hence my request for help.

For reference by anybody who cares to help out and suggest how I might alter my approach and hopefully achieve success (which is to be able to print to the Win7-hosted S800 from the WinXP machine), I'm also attaching a ZIP file of the two INF files I mentioned above.

Many thanks in advance for any printer expert who might have some thoughts.




Attached Files
File Type: zip S800_infs.zip (5.0 KB, 87 views)
My System SpecsSystem Spec
12 Mar 2011   #2
dsperber

Windows 7 Pro x64 (1), Win7 Pro X64 (2)
 
 

I did a bit more investigation on the Microsoft-provided driver file I'd been pointed to, named PRNCA00t.inf.

Using a program named WinMount, I examined the 32-bit Win7 installation DVD I have, examining INSTALL.WIM.

It looks like the proper driver file for this printer was the other file I'd found through Google... PRNCA00x.inf, not PRNCA00t.inf.

I'm guessing the PRNCA00t.inf file is for this printer but for a different environment (maybe for Vista instead of Win7?). I don't know why Microsoft support latched onto that file for me with that hardware id of S8001A09 for Win7. Anyway, PRNCA00t.inf was not on my 32-bit Win7 installation DVD.


So, just on a flyer, I copied that particular folder off of the 32-bit Win7 installation DVD, which looked like it was the official 32-bit Win7 installer for the S800... if I'd installed x86 Win7 instead of x64 Win7.

I then repeated my "Additional Drivers" process, pointing to this new folder.

Well, this time it gave me a totally different totally fatal error... rejecting this completely. Something about "cannot find driver for the proper architecture".

If this was the 32-bit Win7 driver, maybe that's not acceptable as the second driver for a printer where the 64-bit Win7 driver is already installed as the first driver. Maybe the second driver has to be for a completely different OS?


Anyway, this attempt to use the S800 driver folder from the 32-bit Win7 installation DVD has apparently also failed totally, though in a different way.

I've thought about the possibility of reversing the hosting of the S800 printer... plugging it into the WinXP machine instead of the Win7 machine. Let the WinXP machine host the printer, and let the Win7 machine connect to the WinXP machine for printing.

I haven't tried that yet, but I'm not sure I can have a 32-bit WinXP feed a 64-bit Win7 with the "Additional Drivers" process done on the WinXP machine, adding a 64-bit second driver with a 32-bit primary driver.

Or, maybe the already installed x64 driver for the S800 that's on the Win7 machine will be acceptable, and WinXP will not need to ship a driver over.

Don't know. Haven't tried this yet. But it's an interesting thought.
My System SpecsSystem Spec
13 Mar 2011   #3
DeanP

Win 7 Pro x64 SP1 OS X Snow Leopard 10.6.7
 
 

Windows 7 Compatibility for Canon S800 Inkjet Printer: Canon. Drivers, Updates, Downloads
According to Microsoft, it will automatically install when you plug in the USB cable from the printer into the computer
My System SpecsSystem Spec
13 Mar 2011   #4
dsperber

Windows 7 Pro x64 (1), Win7 Pro X64 (2)
 
 

Quote   Quote: Originally Posted by DeanP View Post
Windows 7 Compatibility for Canon S800 Inkjet Printer: Canon. Drivers, Updates, Downloads
According to Microsoft, it will automatically install when you plug in the USB cable from the printer into the computer
Yes, I understand completely what this article says. I've been there before.

Win7 indeed provides full 32-bit and 64-bit support for the S800. It is fully and 100% supported by Microsoft in Win7... out of the box!

But that support is for the S800 attached locally to that Win7 machine (32-bit or 64-bit) as a USB printer. The driver that gets installed is the PRIMARY driver for and supporting that local USB printer.

Yes, just plug the USB cable from the printer into the PC for the first time, and the device will be seen and recognized, and the drivers will be properly installed and the printer will be defined (on port USB001) as "virtual printer port for USB" with the proper name as picked up from the driver INF file for the S800 built into the Win7 installation DVD (probably that PRNC00Ax.inf). And it will work perfectly.

This is undeniable, indisputable, and actually DOES work! And I actually do have the S800 working 100% perfectly on the Win7 x64 machine, exactly as described above. It is using the 64-bit drivers (no doubt installed from the 64-bit version of PRNC00Ax.inf folder grabbed from the 64-bit Win7 installation DVD, just as it looks on the 32-bit Win7 installation DVD).


But you're missing my problem.

My problem is that I then want to ALSO ADD 32-BIT SUPPORT for the S800 (IN ADDITION to the already installed 64-bit support) to allow access to and use of that same S800 printer (which is locally attached to the Win7 x64 machine) BY A SECOND WINXP MACHINE on my home network.

The S800 on the Win7 machine is marked as "shared", and thus IS visible as a network object owned by the Win7 machine on the network view of the WinXP machine. Theoretically, I should be able to right-click on that shared printer on the WinXP's network object display, select "connect" from the popup menu choices, and WinXP should request "connection" to that printer hosted by Win7.

Win7 should then just ship over the proper presumably previously installed x86 driver needed by WinXP (from the presumably previously installed x86 SECOND driver on the Win7 machine, the result of a successful "Additional Drivers" process), and the rest of the "connect" process should then establish an actual "printer" object on the WinXP machine... really using the S800 hosted over on the Win7 machine. It will also look like a USB001 port on WinXP, as a "virtual printer port for USB". All done automatically by the "connect" process... if and only if that needed second x86 driver has been previously installed successfully on Win7.

And this is how it DOES work for every other printer (including the Canon MF4370 which is a second printer also connected to the Win7 machine, as well as my own HP printer on another home network, shared in exactly this same way between all machines on the home network). The USB printer is locally attached via USB to a Win7 x64 host machine, and then the proper driver (either primary X64 or secondary x86, assuming it's installed as well) is then shipped over to the "connecting" Windows client machine. And then the second Windows client machine (e.g. either another Win7 x64/x86 machine, or a WinXP x86 machine, etc.) can print on this shared printer hosted by the host/server Win7 machine.

That's the design of "shared" printer support in Win7 (and WinXP for that matter). And it should work... as it DOES work for the MF4370 in this particular home network, as well as for my HP2605dn printer in another home network with multiple Windows machines.

But it's dependent on having that second x86 driver for the shared printer installed on Win7. If you go into Printer Properties -> Shared tab, and push the "Additional Drivers" button, you should see BOTH the x64 and x86 drivers installed as "YES". Then this "connect" from WinXP WILL work properly... as it does right now for my MF4370 printer.

Again, this is done on Win7 (and also under WinXP for that matter, if you follow the similar Properties -> Sharing tab and "Additional Drivers" dialog provided by WinXP) by going into Printer Properties -> Sharing tab for the printer, and then pushing the "Additional Drivers" button.

This triggers a wizard process by which a second driver, for a second or additional processor/architecture to be installed into Win7. This second driver is not actually used by Win7, but rather it is just installed here so that when that second machine "connects" to Win7 for purposes of printing to that "shared" printer this second printer driver can actually be SHIPPED from Win7 to the second Windows machine.

In other words, the needed printer driver for the second machine (e.g. my sought-after WinXP 32-bit driver for the S800) is actually planted on the Win7 machine, and is not actually installed on the WinXP machine. Instead, when the "connection" occurs for the S800 (from WinXP to Win7) the driver from its home on the host server Win7 machine is shipped over to WinXP and used there, thus eliminating the need to have that driver actually installed on the client WinXP machine.


That's what I'm trying to accomplish... this SECOND driver installation for the S800. I need the 32-bit WinXP driver (in INF form) for the S800, which theoretically should then be usable by the "Additional Drivers" process of Printer Properties -> Sharing tab.

And that's what's missing and that I cannot find: an acceptable INF-based driver for the S800 for 32-bit WinXP, which can be successfully installed on Win7 as the second (x86) driver for the S800 printer which already has its primary (x64) driver installed on Win7... so that this second x86 driver can be shipped over to the WinXP machine at "connect" time.

===> If somebody can direct me to where that acceptable INF file (and related DLL/GPD files) can be copied, that WILL actually install as the needed x86 drivers for the S800 for use by the "Additional Drivers" dialog of Win7, then that will solve my problem. The S800 will then be usable by WinXP exactly like the MF4370 already is on that same home network.

That's the reason for this thread.


One more time... Canon DOES provide this exact INF-based x86 driver file that can be downloaded and used for the MF4370 printer. In fact I DID download and use this folder, in the "Additional Drivers" dialog for the MF4370 printer on the Win7 machine to which it is locally USB connected.

That second driver install completed successfully, and as a result I CAN now print on that MF4370 hosted by the Win7 x64 machine from the WinXP x86 client machine which was able to successfully "connect" to the shared network printer on the Win7 machine.

I've also done exactly the same thing on my other home network, for an HP 2605dn printer. Again, the printer driver for x86 IS available from the HP suport site, for both PCL6 and PS600. I've downloaded them both, and installed BOTH of them into Win7 as second (x86) drivers, again using the "Additional Drivers" dialog on the already installed (x64) printer objects on my Win7 system, for both PCL6 and PS600.

Again, this second driver install for the HP2605dn completed successfully, and the locally attached USB HP2605dn printer "shared" and hosted by one Win7 x64 machine is now available for printing use by the other Win7 x64 client and WinXP x86 client machines also on my home network.

This is all as it should be... for ANY printer.

I want to accomplish the same thing for the S800 printer, but can't find the proper x86 INF driver for the S800 to install as the second driver on Win7.

Help, please, anyone??
My System SpecsSystem Spec
13 Mar 2011   #5
dsperber

Windows 7 Pro x64 (1), Win7 Pro X64 (2)
 
 

Since a picture is worth a thousand words...

(1) Opening Printer Properties -> Sharing tab, with the "Additional Drivers" button that is pushed to start the dialog process.



(2) Initial "Additional Drivers" dialog, with x64 driver pre-checked and driver shown as "installed - YES". Initially, x86 driver is shown as "installed - NO". I check the x86 driver box, to begin the process of installing that second driver.



(3) I navigate to the following directory, where I've placed the 32-bit driver folder for the S800, copied from the 32-bit Win7 installation DVD. This contains the PRNC00Ax.inf file and related DLL/GPD components.



(4) Source driver folder selected, back in "Additional Drivers" dialog about to push OK to theoretically install this as a second driver.



(5) Resulting error message when OK button pushed. Apparently, this PRNCA00x.inf is not the proper 32-bit version of the driver.

My System SpecsSystem Spec
13 Mar 2011   #6
dsperber

Windows 7 Pro x64 (1), Win7 Pro X64 (2)
 
 

I am now suspicious that perhaps I picked up the wrong S800 driver folder from the Win7 32-bit installation DVD.

When I used WinMount to browse the INSTALL.WIM file, there were revealed actually FIVE main sub-folders (1, 2, 3, 4 and 5). It appeared that all of these were the same, so I just picked the PRNC00Ax.inf folder from one of them... randomly. It didn't seem like there was any difference at least in the folder contents for all of the five presumed duplicate folders.

But now I'm thinking maybe they were actually for five different architectures, and I picked the wrong one... just randomly, by mistake.

I'm now going to try copying ALL FIVE of these PRNC00Ax.inf folders, and try ALL FIVE of them in the "Additional Drivers" dialog. Maybe four of them are genuinely inappropriate and only one is correct.


EDIT: turns out all five of these versions do appear to be identical. I don't know why there are main sub-folders 1, 2, 3, 4, and 5 on the Installation DVD, but they all do appear to contain the identical driver folders.

So that's not the explanation for the current problems.
My System SpecsSystem Spec
13 Mar 2011   #7
dsperber

Windows 7 Pro x64 (1), Win7 Pro X64 (2)
 
 
RESOLVED!!! Needed THREE DIFFERENT INF FILES!!!

GOOD NEWS!!! I'VE GOTTEN THAT SECOND X86 DRIVER INSTALLED!!!


Ok. It really was far more complex than you'd think it needed to be. Certainly the installation of the second x86 drivers for the MF4370 and HP2605dn printers was very simple and straightforward, and only required navigating the "Additional Drivers" dialog to one single folder containing the correct INF file and associated \I386 folder containing the DLL/GPD files.

So surely the culprit here really still goes back to the Canon packaging of the drivers for the S800 which they gave to Microsoft for Win7. They're just not put together the same way they are for other printers.

And I think it goes back to the V152 JAVA-based installer they had for WinXP for the S800, rather than the usual SETUP.EXE and INF-based group of files. This may explain why what they were able to eventually give to Microsoft for Win7 was late-to-the-game. As I learned (and explained) in later posts on this thread, it looks like there are MULTIPLE drivers involved with the S800 on Win7, and one of them did NOT make it to the installation DVD for Win7. Instead it is ONLY available on the Microsoft Update Catalog web site (to be used by Win7 at installation time, or by users later on if they need to find something that was not on the installation DVD).


Here's the story leading to the ultimate success!

Again, in my opinion the difficulties really stemmed from how Canon had not properly packaged the drivers for the S800 that they gave to Microsoft... i.e. both the x64 drivers (which are automatically installed on Win7 x64 as the primary driver when the USB cable from the S800 is first plugged into the Win7 x64 machine), as well as the x86 drivers (which I was trying to install as the second driver for the printer in order to support connection from the WinXP x86 Dell machine).

(1) First off, I had to hunt down an extraneous but prerequisite driver named NTPRINT.INF, which gets installed only once in Win7 and then once installed subsequently supports the installation of all other true x86 printer drivers. So this is a preliminary obstacle that had to be overcome. I mentioned previously where/how I found the source of this driver from the Microsoft support site.

(2) I also had to hunt down the x86 driver for the S800 from the Microsoft web site. I looked at the Properties for the currently installed S800 x64 driver and saw that the hardware id was CanonS8001A09 and that the associated INF file name was indeed PRNCA00t.inf, as the Microsoft technician I was on the phone with yesterday had concluded. That's why I had been given the PRNCA00t.inf driver folder.

So whereas I had been struggling (as shown in my earlier posts) to start from the PRNCA00x.inf driver file which I thought was what I needed and consistently failing as shown, I decided to give it another try using the PRNCA00t.inf driver file as the starting point.

(3) The results were indeed different, and it turns out that when starting from the PRNCA00t.inf driver file there was actually now a SECOND driver needed: 804413d9-64a9-405e-b65f-da8b8ebac932.

Well, that driver name is actually mentioned inside the PRNCA00x.inf file, in the driver folder I'd obtained from the Win7 32-bit installation DVD using WinMount decompressing the INSTALL.WIM file.

(4) So after starting from PRNCA00t.inf and clicking OK, and then being prompted to point to the second driver named above, I navigated to the folder where I'd put the PRNCA00x files and clicked OK.

Astonishingly, the process moved on a bit but then stopped and asked for the location of YET A THIRD NEED CANON DRIVER... this one which turned out to be provided in PRNCA00y.inf: 4d41e8ba-a778-415a-a9c0-11605f5e3e6d

I looked at the WinDVD again, and sure enough there was a driver folder for PRNCA00y.

(5) So I extracted this further additional PRNCA00y driver folder from the x86 Win7 Installation DVD, and re-started the whole "Additional Drivers" dialog yet again from the top, for the addition of x86 drivers for the S800 printer. (remember, NTPRINT.INF has already been previously prompted for and installed by me at that time, so once installed it's not asked for ever again).

(a) start by pointing to PRNC00At.inf folder (obtained from the Microsoft support site, since it is NOT on the Win7 32-bit installation DVD).

This step results in the following prompt for the primary core printer driver:




(b) when prompted for the 804413d9 driver, point to the PRNC00Ax.inf folder (obtained from the Win7 32-bit installation DVD using WinMount on INSTALL.WIM).

This step results in the following prompt for the secondary Canon printer driver:



(c) when prompted for the 4d41e8ba driver, point to the PRNC00Ay.inf folder (also obtained from the Win7 32-bit installation DVD using WinMount on INSTALL.WIM).

Amazingly, IT NOW RUNS TO COMPLETION!!! And the x86 driver now finally shows as "installed - YES", which was my goal from the beginning.



(6) And now, back on the WinXP machine, I was again still able to view the "shared" S800 printer on the Win7 machine.

I then right-clicked on it and selected "connect", and watched as the now finally installed second x86 driver for the S800 on the Win7 machine got shipped across from the Win7 machine to the WinXP machine and the "Canon Inkjet S800 on Gateway" printer got installed successfully on the WinXP machine. Sure enough it's on port USB001 as "virtual printer port for USB".




And now, sure enough, printing a test page on the WinXP 32-bit machine for the S800 printer (which is locally USB connected to the Win7 64-bit machine) truly did print the page!!!

HOORAY!!!


NOTE: amazingly, whereas the primary PRNCA00x.inf driver and secondary PRNCA00y.inf driver are actually located on the Win7 32-bit Installation DVD so that I could easily extract them using WinMount, the genuine starting point driver for the device PRNCA00t.inf is NOT on the Win7 installation DVD!!!

So actually, when that S800 printer was first plugged into the Win7 64-bit machine and got detected as "new hardware", and the x64 printer drivers got automatically installed by Win7, what must have been happening is that Win7 must have communicated with the Microsoft support site to retrieve the PRNCA00t.inf x64 driver file.

It had to do that, because the PRNCA00t.inf files were NOT on the original installation DVD (all of whose driver files for ALL devices actually get copied to a driver repository directory under C:\Windows\System32 of Win7), and they're not there. Only the PRNCA00x and PRNCA00y folders are there (but of course for x64, when Win7 x64 was first installed, but not for x86 which is what I needed for the second x86 driver I wanted to install which is why I needed to get them from the 32-bit Win7 installation DVD).
My System SpecsSystem Spec
13 Mar 2011   #8
dsperber

Windows 7 Pro x64 (1), Win7 Pro X64 (2)
 
 

Just one more point...

The NTPRINT.inf driver is the prerequisite for the installation of all further printer drivers, both for x64 and x86 environments. Like all other drivers as it turns out it is also located on the actual 32-bit Win7 Installation DVD.

So just like PRNCA00x.inf and PRNCA00y.inf, now that I have investigated I see that NTPRINT.inf is also on the 32-bit Win7 Installation DVD and can be extracted directly from there.

So it actually can be obtained from that source directly, rather than just where I found it on the Microsoft support site.

Also, it obviously is also kept in that driver repository folder in C:\Windows\System32 built when installing any Win7. So if you're looking for the 32-bit version of NTPRINT.INF you can also copy it from an already installed 32-bit Win7 system (just as you can copy the PRNCAA0x.inf and PRNCAA0y.inf folders which are also there).

ALL drivers for any devices are kept in the FileRepository folder on an installed Win7 system (both x64 and x86):
C:\Windows\System32\DriverStore\FileRepository
It is from this FileRepository that you can navigate to and install any of the drivers ever needed, or "borrow" by copying from some other Win7 installed system (for example copying those x86 folders from a 32-bit Win7, for use like now when installing the second x86 printer driver on an x64 system).

Note that all drivers installed, both x86 and x64 (referred to as AMD64 by name) as well as NTPRINT are in the same place in the 64-bit FileRepository. Also note that all of the directories and secondary drivers that I hunted down over several days for the x86 environment had apparently been processed silently and automatically in x64 mode when the S800 printer was first plugged into the Win7 x64 machine and installed as a "local USB printer". In other words, for every x86 driver folder from my manual process described earlier, there also was an existing x64 folder (from the automatic Win7 x64 process of installing the S800). Had I understood more then what I understand now, this whole story would not have been the revelation it's turned out to be:





It's only the PRNCA00t.inf driver folder which seems to only be available from the Microsoft support site itself, as it was apparently not provided from Canon in time for the building of the Win7 Installation DVDs.

So, for the future, I've now got stored away all four of the needed x86 driver folders for the x86 environment, in case I have to reinstall in the future: NTPRINT, PRNCA00T, PRNCA00X and PRNCA00Y.




So... the x86 drivers for these printers which are supported by Win7 can be obtained directly from a 32-bit Win7 installation DVD, or from another already installed 32-bit Win7 system.

You can also obtain the absolute latest drivers (e.g. PRNCA00t.ing) which may not even be on the Win7 installation DVDs, from the Microsoft Update Catalog site. You search for the item you want (e.g. the hardware ID for the S800 printer was CanonS8001a09), select the proper printer driver in this case (for Win7 as opposed to another OS) by pushing the ADD button. This places it in the download basket. When you're done, view the download basket by clicking on the "view basket" icon at the upper-right, and then push the DOWNLOAD button to receive the driver or other file.

NOTE: in order to get to that Microsoft Update Catalog site, you MUST BE USING IE. You can't get there with Firefox.
My System SpecsSystem Spec
16 Mar 2011   #9
dsperber

Windows 7 Pro x64 (1), Win7 Pro X64 (2)
 
 

Just in passing, now that a few days have gone by and I've had time to reflect...

I just replied to and filled out the web survey from Canon tech support which I had received. This was from the phone call to tech support that I'd had with them for 2 hours the other day when I was first getting started on this problem resolution mission. They obviously had no special knowledge of or training in the actual 3-part (PRNCA00t, PRNCA00x and PRNCA00y) drivers involved with the S800 for Win7.

Of course this first unproductive phone call to Canon tech support was followed by a separate phone call to Microsoft tech support (for $59) that was another 3 hours long, and only partially productive. Yes, they helped me discover the hardware id of the S800 printer and the fact that it was the PRNCA00t.inf file which was "the driver" for Win7. And they helped me get that PRNCA00t driver folder down from the Microsoft Updates Catalog web site.

But they, Microsoft, also did not realize that the PRNCA00t.inf driver for the S800 was only the first and PRIMARY DRIVER. They, too, did not realize at the time that there were actually two more associated secondary drivers that would be asked for in sequence once the "Additional Drivers" dialog was started using PRNCA00t.inf, and thus also required for complete S800 driver installation (first PRNCA00x and then PRNCA00y). In fact, they were as baffled as I was to see the request for a totally different driver name asked for shortly after the PRNCA00t.inf driver install got started. They didn't know that this second driver part was in PRNCA00x, and that then yet a third driver part would be asked for that this time was in PRNCA00y.

All of this new understanding of 3-part x86 printer driver installation for an S800 as an "Additional Drivers" under Properties -> Sharing when you want add "shared" printer support for an x86 client when you have already installed primary x64 printer support for the S800 printer (and other printers)... well this is now new-found knowledge to me, discovered through my own trial-and-error and discoveries and prior experience and resulting intuition.

Of course most required driver packages for this process would or should be available from the printer manufacturer web site. They are almost always 1-part, not 3-part as the Canon S800 driver package seems to be. In this case, the Win7 drivers from Canon are NOT available from Canon's site because "support for the S800 is provided in Win7 inherently". Yes that's true, but only for the S800 as a "primary printer".

So it really was the fact that the separately needed x86 package (of 3 separate driver files, as it now turns out to be known) for the S800 was not instantly available in its entirety from the Canon site. Had it been downloadable directly from them, I would have not had to spend 3 days figuring this all out for myself.

Yes, I eventually found PRNCA00t x86 on the Microsoft Updates Catalog web site, and then found PRNCA00x x86 and PRNCA00y x86 on the 32-bit Win7 installation DVD (because I was lucky enough to have one in my possession, along with my normal 64-bit Win7 installation DVD) using the 3rd-party program WinMount (to read the INSTALL.WIM file on the Win7 installation DVD).

But shouldn't Canon really just have provided ALL SIX REQUIRED WIN7 DRIVER FILES FOR THE S800 on their software+driver download page? In other words, just for user convenience, put the x64 set of 3 as well as the x86 set of 3 on their web site. We already know PRNCA00t did not even make it to Microsoft in time for inclusion on the actual Win7 installation DVD. Only PRNCA00x and PRNCA00y made it.

So why can't Canon just make things easier for future users with similar needs as mine, wanting to access a "shared" S800 on a 64-bit Win7 host from a second 32-bit WinXP client on the network?

Of course in addition to just having easy access to the 3 separate driver folders Canon should also have provided adequate installation instructions: first point to PRNCA00t.inf, then when asked for the second driver point to PRNCA00x.inf, and then when asked for the third driver point to PRNCA00y.inf... and that will be the end.

Also, the installation instructions should have made mention of the FOURTH driver required for installation of ANY printer driver, namely NTPRINT.inf for x86 which again can be obtained either from (a) an installed 32-bit Win7 system, or (b) the 32-bit Win7 installation DVD. Based on internet mention of NTPRINT.inf, it's almost a "secret" part of Win7 and printer support, and the fact that it's needed as an x64 and x86 prerequisite for ANY printer I don't think is widely known.

I wrote all of this in my survey response to Canon.

Maybe these thoughts will make their way into some action, and the Canon web site will be updated to actually provide all three Win7 driver files required for both x64 and x86 environments, namely the very six driver folders now installed on my x64 Win7 system (since I now have both x64 and x86 drivers installed for the S800 on my x64 Win7 to which the S800 is attached)
My System SpecsSystem Spec
22 Mar 2011   #10
dsperber

Windows 7 Pro x64 (1), Win7 Pro X64 (2)
 
 

Interestingly, what amounts to essentially the identical story was reported a few days ago by another Forum member... but this time for the Canon S900 printer.

The only difference is that the S900 wouldn't install at all under Win7. In contrast, my S800 installed just fine in my x64 Win7.

In my case, my dilemma was that I didn't know where/how to get a SECOND set of x86 drivers for the printer to support shared use of the printer already hosted by an x64 Win7 machine with primary x64 drivers installed. I need the SECOND set of x86 drivers to support access to the S800 printer "shared" by Win7, from a second x86 WinXP machine on the network.

In the other user's S900 story, the S900 simply will not install successfully on Win7 period... although both Canon and Microsoft claim the S900 is fully supported out-of-the-box by Win7.


See this other thread for complete details on the S900 story.

The answer appears to be a Microsoft screwup with the drivers for the S900, failing to put everything that was needed to install the printer on either the installation DVD or alternatively available from the Microsoft Updates Catalog web site.

They'd done it right for the S800, with part 1 (PRNCA00t) on the web site, and parts 2 (PRNCA00x) and 3 (PRNCA00y) both on the installation DVD (and thus also in the \System32\DriverStore folder on the installed Win7 system).

But with the S900, they have apparently screwed up. Only the first S900 part (PRNCA00r) is available on the web site. In fact, no other part(s) are available anywhere... not on the web site nor on the installation DVD. ==> S900 cannot be installed. There may be one or possibly two additional driver parts needed for the S900, just as there were for the S800, but NONE of those parts (one or more) is available anywhere!!!


Now, the new insight is that ALL of these "fractionalized part" were apparently all in one single HUGE driver folder in Vista, named PRNCA001. This one monster (300MB) driver folder contained all files for all Canon printers.

Apparently the Win7 driver team decided to break up the one huge Canon printer driver folder PRNCA001 from Vista into smaller "fractions" (e.g. PRNCA00t, PRNCA00x and PRNCA00y for the S800). That's clear from the fact that there is no longer a PRNCA001 in Win7. It's presumably been completely replaced with multiple "fractions" for Win7 (which of course do NOT exist in Vista).

And it looks like they started the same way for the S900, beginning with the primary "fraction" named PRNCA00r. However there clearly were one or maybe two additional parts that SHOULD have been present somewhere (most likely on the installation DVD, but even if they missed the production cutoff date they could have been placed on the Microsoft Updates web site... which they weren't). These additional parts are in fact available NOWHERE in the Win7 world.

This is obviously a Microsoft mistake, and it prevents the successful install of the S900.


However, if PRNCA001 is obtained from the Vista installation DVD or from an installed Vista machine (in the same \System32\DriverStore\FileRepository folder, as with Win7's design), then the required secondary (and possibly tertiary) drivers needed by PRNCA00r for the S900 will be located successfully.

In other words, PRNCA00t, PRNCA00x and PRNCA00y for Win7 are really just "fractionalized" versions of the PRNCA001 driver for Vista dedicated to a certain subset of the entire Canon printer family... which in this case includes the S800. But the very same drivers needed for installation could have come from PRNCA001 on a Vista system.

Well, the same holds true for the S900. PRNCA00r and at least one but probably two more "fractional drivers" should theoretically be needed, but the other part(s) aside from PRNCA00r are missing. Nevertheless, they are ALL inside of PRNCA001 in Vista, where ALL of the printer drivers for ALL of Canon's printers are supported... both S800 as well as S900.


===> As a last resort, PRNCA001 in Vista can be used for the print drivers for any Canon printer supported by Vista bu now to be installed under Win7, including both S800 and S900.

Though intended to be supported under Win7, the S900 appears to have been "broken" by Microsoft when they decided to "fractionalize" PRNCA001 and failed to make all of the needed fractions for the S900 available, either on the installation DVD or in worst case on the updates web site.


We now know everything there is to know about printer drivers for Canon printers on Win7.

Case closed.
My System SpecsSystem Spec
Reply

 Trying to install x86 drivers for Canon S800 printer on x64 Win7




Thread Tools



Similar help and support threads for2: Trying to install x86 drivers for Canon S800 printer on x64 Win7
Thread Forum
Canon MX340 Printer Ė Install Help Hardware & Devices
Canon x64 Win7 printer driver for d761 Drivers
Canon MP530 printer stopped working, no drivers? Drivers
Canon LBP 2900r Printer Drivers Drivers
cant install canon printer Hardware & Devices
drivers for printer Canon Drivers

Our Sites

Site Links

About Us

Find Us

Windows 7 Forums is an independent web site and has not been authorized, sponsored, or otherwise approved by Microsoft Corporation. "Windows 7" and related materials are trademarks of Microsoft Corp.

© Designer Media Ltd

All times are GMT -5. The time now is 05:27 PM.
Twitter Facebook Google+



Windows 7 Forums

Seven Forums Android App Seven Forums IOS App