h1

The way ALL Print Drivers SHOULD be written!

February 18, 2016

Let me start out by saying I don’t write print drivers. I am a Systems Engineer so I set them up, configure them, and sometimes I hack them to make them do what I want them to do. About six weeks ago I was working with a customer that was using a Universal PS driver of a particular Print Management system and ran into an all too common problem.

The customer was getting some Postscript errors on random print jobs and asked to try the Universal PCL driver. I thought sure they “are” two completely different print drivers. They have to be because they use a different print language (PCL vs PS). At least, that is what I thought! But it wasn’t the case. To be fair the Print Management system had been upgraded about six months earlier but the Universal Print Driver that was being used by the client PCs were still the older PS one. I could tell because the older one had 3 tabs in its printing preferences settings, while the new one had only one.

As a best practice I typically pull the the driver from the resource web page of the Print Management Server. When I did this and set up the NEW PCL Universal driver it also unfortunately updated the OLD PS Universal Driver. This caused the OLD PS Universal Driver to become unstable. And caused me and the IT Manager a fair amount of unnecessary and unwanted work. All because of a poorly written Universal Driver.

Universal Drivers are becoming more popular as a way of only having to load a single driver (ideally) or at least fewer drivers on a print server. Why is that important? Because as anyone who has worked in the print industry for any time will tell you; print drivers don’t always place nice with one another.

The reason this happens is the files that make up most print drivers end up in the same folder:

C:\Windows\system32\spool\DRIVERS\x64\3

In and of itself this is not a problem. And generally different manufacturers name their files differently so they don’t over write or get overwritten by another manufacturers print driver. You would think that each Manufacturer would either write backward compatible print drivers (ideally) or at the very least their newer print drivers would not overwrite their own older files if they are not going to be backwards compatible. But sadly this is all to commonly not the case. Once a newer driver has overwritten a file used by and older driver and caused it to become unstable or create new unwanted behavior it can be very difficult to remove the driver, even with some of the cool driver removal tools that many of the manufacturers provide. I speak form the experience of battle.

But I recently was pleasantly surprised when I was working on another Print Management system that had some Samsung Print Drivers already installed. We wanted to test a new Universal Samsung print driver. But this wasn’t the first rodeo for this IT Manager. Just before we loaded the new Universal print driver he turned to me and said “remember, this is a production print server”. Then he asked me will this new Samsung driver interact with any of the Samsung drivers that are already installed? I told him that I honestly did not know, so I would do some testing on my Demo room system and let him know.

I went back to my Demo Room and the first thing I did was print out test pages on all of the current Samsung Printers. then I loaded the new Samsung Universal Print Driver and printed out it’s test page and all the other Samsung Printer test pages again. Why, you ask? Because each test page lists all the files that that Print Driver uses and where they are located. When I did this I got a very pleasant surprise! Samsung wrote their print drivers so that each one of the files had a specific and unique prefix for each of their Print Drivers. A great BEST PRACTICE when writing a driver. This way none of their drivers files would overwrite (or be overwritten) the file of another print driver even though the were all installed in the same “3” Folder.

C:\Windows\system32\spool\DRIVERS\x64\3

This is the way all print drivers should be written! Well done Samsung, well done!

That’s My $0.02
Vince McHugh
VP \ Network Solutions
vince.mchugh@yahoo.com

Advertisements

2 comments

  1. It’s clear which system you’re referring to, and you could have just downloaded the PCLXL version if you didn’t want to overwrite the PS version. When using the full installer to perform an upgrade it assumes you want to upgrade one or both of what ever items are installed.


    • Matt,

      That’s my point. I DID download the PCLXL version of the Universal Driver and IT DID overwrite files used by the Universal PS Driver. We did not run the setup, we added a printer. and it overwrote shared files which made the Universal PS Driver unstable.



Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: