Contemplation of the problem
Sometimes it’s a pain to add 32-bit drivers to the Additional Drivers section when you install a printer on a 64-bit Windows machine and share it in your network, because of compatibility with the 64-bit drivers which needs both bit-versions of the drivers to go with the same name.
When you, for example, install 64-bit drivers through Windows Update, the drivers offered on the manufacturer’s website will not necessarily call your printer by exactly the same name. That’s a no-no for Windows, and your favorite OS will stubbornly refuse to accept those drivers.
Now you may think ‘Well, why can’t I let Windows use the 32-bit drivers that are installed using Windows Update?’ Very clever, but you cannot let Windows Update install 32-bit drivers on a 64-bit machine.
But going down that same path on a detour, it is actually possible to achieve the result you thought you’d achieve, but by having to go through some extra steps and having a 32-bit Windows machine at your disposal.
Solution
For this solution to work, you will need to have both 32-bit and 64-bit Windows installed on one or several computers and be able to connect the printer directly to both versions of Windows.
First step: Install printer on 64-bit Host
This is easy: connect the printer, turn it on and install the drivers through Windows Update. Let it finish, then share the printer in your network. Do not yet attempt to add Additional 32-bit Drivers.
Second step: Install printer on the 32-bit Client locally
Roughly the same as the previous step: connect the printer to the 32-bit Windows machine, turn on the printer and let Windows Update check for updates and let it install the printer driver.
Third step: Locate the 32-bit printer driver on your 32-bit machine’s hard disk
This is more advanced than previous steps. Luckily there are constants we can hold on to to guide us through this step. The directory you must open in Explorer is C:\Windows\System32\DriverStore\FileRepository\.
You will see a lot of directories with cryptic names glaring back at you. One or more directories will be of importance in this step, and those can be identified by sorting the directories by Date Modified. Simply look for the directories that are modified at the time you let Windows Update run to install the printer drivers. Select the directories that fit the time-tag and Copy or Share them.
(If you cannot remember the time you installed your printer, you can always search for the correct directories knowing that a directory of a printer-driver starts with prn, followed by two characters indicating the printer’s manufacturer. For example: in case of an HP printer, it will be prnhpXXX.inf_x86_neutral_XXXXXXXXXXXXXXXX, but in case of a Canon printer it will be prncaXXX.inf_x86_neutral_XXXXXXXXXXXXXXXX.)
Do the same for this directory: C:\Windows\System32\DriverStore\FileRepository\ntprint.inf_x86_neutral_XXXXXXXXXXXXXXXX. (all X’s are random numbers or letters, there will be only one directory that starts with ntprint.inf_x86)
Fourth Step: install the Additional 32-bit Driver on your host
Now back on the 64-bit host on which the printer will be shared. Go to the printer’s properties, tab Share and click the button Additional Drivers. Now check 32-bit Drivers and press OK. It will prompt you a dialog to browse for the .INF file that contains the 32-bit driver of the printer you shared.
The correct .INF file will be inside one of the directories you just copied or shared. Just try them all out until one works.
Then Windows will ask for correct the ntprint.inf file. That one can be found in the ntprint.inf_x86… directory you also copied or shared. The file will be accepted and the installation of the 32-bit driver will continue and finish.
Fifth Step: Enjoy how things work!
I know I did. I installed all shared printers (both a Canon inkjet and an HP laserjet) on all computers I could find in my home, all with great success.
More details on specific cases
The installation of the HP Laserjet on the 32-bit Windows machine created just one directory in the FileRepository and was called prnhp001.inf_x86_neutral_XXXXXXXXXXXXXXXX. That was easy.
More difficult was the installation of the Canon printer, which created a whole series of directories, all of them starting with prnca00, and only one of them (to be precise: prnca00n…) containing the driver of the printer I tried installing. Worse still was the Core Driver‘s .INF file which was to be found in yet another directory and ultimately turned out split over two directories: prnca00x and prnca00y. A lot of tedious searching, but in the end everything works as it should, and that’s what’s important.