The cold reality goes something like this. You plug in the printer and Vista notices this event. It fires up a printing plug- and-play event handler and goes searching across the Windows Update database for a driver. Maybe it finds one, maybe it doesn’t – who knows? But some time within the next ten seconds, a deeply unhelpful thing happens; namely, the Windows Printer Spooler crashes. Now, you might not think this is a big deal, as after all surely the spooler’s job is only to manage the status of the print queues for printers that are installed – installing a new driver shouldn’t care about the printer spooler at all. Hah, that’s the sort of naive thinking that only someone used to eUnux could possibly fall for: things are very different under Windows. Of course it matters where the printer spooler is running, because it seems it’s the printer spooler service that performs printer installs and uninstalls. If said spooler isn’t running, you can’t uninstall a printer driver, period. So now I have a real problem: the spooler has just crashed and might not restart, I have some components of the Oki driver installed, although not all of them – just enough to trick Windows into believing that it’s installed fine…
So reboot Windows, unplug the printer and then plug it in again. And guess what? Yes, the printer spooler service keels over again. And I can’t uninstall it because…. repeat ad nauseam. Worse still, you’re never asked where your printer driver stack is located, which seems like a major oversight to me, because if it fails to ask and continues fruitlessly scanning Windows Update and other vague and meaningless locations, how can I force it to look in the directory I actually downloaded the latest driver into? So that’s it, game over, please choose another printer. Can’t uninstall, can’t install, can’t remove, can’t fix. And Microsoft is puzzled that we find this frustrating.
I’ve found a workaround. First make sure the printer isn’t connected, then reboot the computer and open up the Printer window (which is actually the printer spooler application, but let’s not confuse things). Right-click somewhere in the right-hand window and choose Run As Administrator, then select Add Printer. After the mandatory Windows Security screen, you’ll be presented with the option to Choose a local or network printer. The first option says, “Add a local printer – use this option only if you don’t have a USB printer (Windows automatically installs USB printers when you plug them in)”; and the second says, “Add a network, wireless or Bluetooth printer: make sure that your computer is connected to the network, or that your Bluetooth or wireless printer is turned on”. Clearly, I needed the first option, even though the claim it makes about USB printers is patently false. The next screen asks which printer port to use, and the screen after that will look familiar to users of older versions of Windows because it’s nothing more or less than the printer driver selector from XP, complete with “Have Disk” option. My spirits rose when I saw this, like the ending of The Railway Children when father appears through the smoke on the train platform.
I pressed the “Have Disk” option with glee and pointed it to the directory containing the newly downloaded driver. Vista had a little think, then announced that this driver is the same as the one that’s already installed, so which do I want to use? Well, unlike silly old Vista, I knew the existing installed driver is broken because it doesn’t work, so I chose Replace, and after a few more seconds I magically had a working Oki printer.