September 16, 2010

Practical Tip - Painful Lesson

Normally, printing is the bane of my existence.  I don’t like to print, I find that it is not necessary given the 70 different devices I have to read things on and generally speaking, they are just dumb.  In 30 years, one would expect that the various (and there are not that many remaining) printing companies would have gotten together to establish a consistent user experience for interacting with their various devices.  Better still, would be a standardized way to interact with just a single COMPANY’s devices.  Dealing with device drivers with printers is a lot like dealing with the federal government during a tax audit (wear loose fitting clothing and drink plenty of water before proceeding).

It could be personal printing, where the device driver installs a mountain of bloatware onto your PC to ‘help you print’ as if I’m a complete moron.  It could be enterprise printing, where the simple fact of loading a driver onto a flipping print server requires downloading 900 megs of garbage for a single DLL.  Either way, the most absurd thing about printing is the relationship between device drivers and the hardware platform – and it is very acute now that 64 bit OS is mainstream.  Like it or not, 32 bit is still here and it rears its very ugly head when you try to add printer drivers to a print server.  If the print server is 32 bit, you have to use a 64 bit client and push the printers to the server through some magical and painful process.  If the print server is 64 bit, you must do the same…and it looks something like this:

  1. Attempt through sheer luck and a flip of a coin to find the appropriate damn driver on the device manufacturer’s website, because you only need the driver, not the DVD full of CRAP that ships with the device.  Guys … come on – this should not be a difficult experience – go to website, enter model number, select platform, select 64 or 32 bit, download file…I’m talking to you Canon and Xerox – 93 results?  REALLY?
  2. Download both the 32 bit and 64 bit driver
  3. Install the 64 bit driver and pray to the printer gods that it finds you worthy to print a test page.
  4. Create the share…ok, that’s pretty simple.
  5. When you attempt to add the 32 bit driver, it will graciously tell you that you can’t do that on a 64 bit machine…that’s just as much Microsoft’s fault as the manufacturer, I realize.  So what do you do?  Find a 32 bit machine which shouldn’t be hard, otherwise you wouldn’t need that driver.
  6. Attempt to connect to the shared printer from the 32 bit guest.  It says, no driver is available and asks if you want to install one.  So we do that from the download.  Assuming that works, the next question would be – how do I get the print server to have that 32 bit driver so I don’t have to do this manually on every 32 bit guest…yeah.
  7. Open the printer properties from the guest computer and find Additional Drivers under sharing…yes, on the 32 bit guest!
  8. You’ll see that the x64 is checked and grayed out.  Check the x86 and through some magical voodoo, the client will upload the 32 bit driver you just installed to the 64 bit server and if many MANY things DON’T go wrong, you might now have a 32 bit driver on the 64 bit server.

So this is just about the most insane thing I’ve ever had the unfortunate pleasure of dealing with.  I look towards the unlikely day that either A) printers are no more (preference) or B) all printers speak the same, simple, un-bloatware’d language that work across platforms (more likely, the death nail of 32 bit guests will come first which will at least help haha)

Not fun.