|12 Mar 2011||#1|
| || |
Trying to install x86 drivers for Canon S800 printer on x64 Win7
(1) Two machines on the home network: (a) Windows 7 x64, (b) WinXP x86.
(2) Two printers connected locally via USB to Windows 7 machine: (a) Canon MF4370dn, (b) Canon S800.
Both printers are now installed successfully on the Windows 7 machine.
(3) The S800 was supported immediately by Windows 7 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 Windows 7 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 Windows 7 could then find them.
I then unplugged the USB cable and re-plugged it, and this time the Windows 7 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 Windows 7 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. Windows 7 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 Windows 7 machine from the WinXP machine is opened, and the shared printer(s) selected and right-clicked, selecting the "Connect..." item causes Windows 7 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 Windows 7 x64 machine now available for printing both by Windows 7 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 Windows 7 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 Windows 7 machine from WinXP. And exactly as is supposed to happen, Windows 7 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 Windows 7 x64 and also from WinXP x86.
(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 Windows 7 (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 Windows 7, when trying to add that second x86 driver for the S800 that's already installed successfully in x64 mode on Windows 7.
In fact, if I try to go through the "Connect..." process on WinXP, having selected the visible "shared" S800 printer on the Windows 7 machine, the step which would normally ship the presumably installed second x86 driver over from Windows 7 to WinXP obviously fails, because that second x86 driver is not installed on Windows 7.
So... for the moment, complete failure. I could not see any way to get the S800 locally attached to the Windows 7 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 Windows 7 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. Windows 7 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 Windows 7 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 Windows 7 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 Windows 7 for printing.
I now have decided that this is the wrong thing to do, as the Windows 7 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 Windows 7, because Canon DID package the WinXP x86 driver as an INF file so that Windows 7'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 Windows 7), 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 Windows 7'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 Windows 7).
This resulted in my downloading a file named:
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 Windows 7 issue faced (and eventually conquered) by a number of other users. Thanks to this thread on another forum I was able to satisfy Windows 7's desire for NTPRINT.INF successfully. Actually, this is only a 1-time problem and once you solve it (and let Windows 7 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 Windows 7... 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. Windows 7 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 Windows 7, 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 Windows 7-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.
|My System Specs|
|12 Mar 2011||#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 Windows 7 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 Windows 7?). I don't know why Microsoft support latched onto that file for me with that hardware id of S8001A09 for Windows 7. Anyway, PRNCA00t.inf was not on my 32-bit Windows 7 installation DVD.
So, just on a flyer, I copied that particular folder off of the 32-bit Windows 7 installation DVD, which looked like it was the official 32-bit Windows 7 installer for the S800... if I'd installed x86 Windows 7 instead of x64 Windows 7.
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 Windows 7 driver, maybe that's not acceptable as the second driver for a printer where the 64-bit Windows 7 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 Windows 7 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 Windows 7 machine. Let the WinXP machine host the printer, and let the Windows 7 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 Windows 7 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 Windows 7 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 Specs|
|13 Mar 2011||#3|
| || |
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 Specs|
|13 Mar 2011||#4|
| || |
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
Windows 7 indeed provides full 32-bit and 64-bit support for the S800. It is fully and 100% supported by Microsoft in Windows 7... out of the box!
But that support is for the S800 attached locally to that Windows 7 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 Windows 7 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 Windows 7 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 Windows 7 installation DVD, just as it looks on the 32-bit Windows 7 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 Windows 7 x64 machine) BY A SECOND WINXP MACHINE on my home network.
The S800 on the Windows 7 machine is marked as "shared", and thus IS visible as a network object owned by the Windows 7 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 Windows 7.
Windows 7 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 Windows 7 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 Windows 7 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 Windows 7.
And this is how it DOES work for every other printer (including the Canon MF4370 which is a second printer also connected to the Windows 7 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 Windows 7 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 Windows 7 x64/x86 machine, or a WinXP x86 machine, etc.) can print on this shared printer hosted by the host/server Windows 7 machine.
That's the design of "shared" printer support in Windows 7 (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 Windows 7. 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 Windows 7 (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 Windows 7. This second driver is not actually used by Windows 7, but rather it is just installed here so that when that second machine "connects" to Windows 7 for purposes of printing to that "shared" printer this second printer driver can actually be SHIPPED from Windows 7 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 Windows 7 machine, and is not actually installed on the WinXP machine. Instead, when the "connection" occurs for the S800 (from WinXP to Windows 7) the driver from its home on the host server Windows 7 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 Windows 7 as the second (x86) driver for the S800 printer which already has its primary (x64) driver installed on Windows 7... 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 Windows 7, 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 Windows 7 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 Windows 7 x64 machine from the WinXP x86 client machine which was able to successfully "connect" to the shared network printer on the Windows 7 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 Windows 7 as second (x86) drivers, again using the "Additional Drivers" dialog on the already installed (x64) printer objects on my Windows 7 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 Windows 7 x64 machine is now available for printing use by the other Windows 7 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 Windows 7.
Help, please, anyone??
|My System Specs|
|13 Mar 2011||#5|
| || |
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 Windows 7 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 Specs|
|13 Mar 2011||#6|
| || |
I am now suspicious that perhaps I picked up the wrong S800 driver folder from the Windows 7 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 Specs|
|13 Mar 2011||#7|
| || |
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 Windows 7. 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 Windows 7 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 Windows 7, and one of them did NOT make it to the installation DVD for Windows 7. Instead it is ONLY available on the Microsoft Update Catalog web site (to be used by Windows 7 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 Windows 7 x64 as the primary driver when the USB cable from the S800 is first plugged into the Windows 7 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 Windows 7 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 Windows 7 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 Windows 7 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 Windows 7 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 Windows 7 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 Windows 7 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 Windows 7 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 Windows 7 machine got shipped across from the Windows 7 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 Windows 7 64-bit machine) truly did print the page!!!
NOTE: amazingly, whereas the primary PRNCA00x.inf driver and secondary PRNCA00y.inf driver are actually located on the Windows 7 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 Windows 7 installation DVD!!!
So actually, when that S800 printer was first plugged into the Windows 7 64-bit machine and got detected as "new hardware", and the x64 printer drivers got automatically installed by Windows 7, what must have been happening is that Windows 7 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 Windows 7), and they're not there. Only the PRNCA00x and PRNCA00y folders are there (but of course for x64, when Windows 7 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 Windows 7 installation DVD).
|My System Specs|
|13 Mar 2011||#8|
| || |
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 Windows 7 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 Windows 7 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 Windows 7. So if you're looking for the 32-bit version of NTPRINT.INF you can also copy it from an already installed 32-bit Windows 7 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 Windows 7 system (both x64 and x86):
C:\Windows\System32\DriverStore\FileRepositoryIt is from this FileRepository that you can navigate to and install any of the drivers ever needed, or "borrow" by copying from some other Windows 7 installed system (for example copying those x86 folders from a 32-bit Windows 7, 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 Windows 7 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 Windows 7 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 Windows 7 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 Windows 7 can be obtained directly from a 32-bit Windows 7 installation DVD, or from another already installed 32-bit Windows 7 system.
You can also obtain the absolute latest drivers (e.g. PRNCA00t.ing) which may not even be on the Windows 7 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 Windows 7 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 Specs|
|16 Mar 2011||#9|
| || |
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 Windows 7.
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 Windows 7. 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 Windows 7 drivers from Canon are NOT available from Canon's site because "support for the S800 is provided in Windows 7 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 Windows 7 installation DVD (because I was lucky enough to have one in my possession, along with my normal 64-bit Windows 7 installation DVD) using the 3rd-party program WinMount (to read the INSTALL.WIM file on the Windows 7 installation DVD).
But shouldn't Canon really just have provided ALL SIX REQUIRED Windows 7 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 Windows 7 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 Windows 7 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 Windows 7 system, or (b) the 32-bit Windows 7 installation DVD. Based on internet mention of NTPRINT.inf, it's almost a "secret" part of Windows 7 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 Windows 7 driver files required for both x64 and x86 environments, namely the very six driver folders now installed on my x64 Windows 7 system (since I now have both x64 and x86 drivers installed for the S800 on my x64 Windows 7 to which the S800 is attached)
|My System Specs|
|22 Mar 2011||#10|
| || |
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 Windows 7. In contrast, my S800 installed just fine in my x64 Windows 7.
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 Windows 7 machine with primary x64 drivers installed. I need the SECOND set of x86 drivers to support access to the S800 printer "shared" by Windows 7, from a second x86 WinXP machine on the network.
In the other user's S900 story, the S900 simply will not install successfully on Windows 7 period... although both Canon and Microsoft claim the S900 is fully supported out-of-the-box by Windows 7.
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 Windows 7 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 Windows 7 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 Windows 7. It's presumably been completely replaced with multiple "fractions" for Windows 7 (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 Windows 7 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 Windows 7'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 Windows 7 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 Windows 7, including both S800 and S900.
Though intended to be supported under Windows 7, 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 Windows 7.
|My System Specs|
|Similar help and support threads for2: Trying to install x86 drivers for Canon S800 printer on x64 Win7|
|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|
|Canon x64 printer drivers for older canon printers||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 11:47 PM.