Microsoft has a good reason for dating its Windows drivers June 21, 2006

Shawn Knight

Posts: 15,296   +192
Staff member

Anyone that’s gone out of their way to download and install Windows Updates during the past decade (which pretty much includes anyone that regularly reads publications like TechSpot) has probably noticed that Microsoft’s Windows drivers all carry the same, outdated timestamp of June 21, 2006.

Have you ever stopped to consider why that is? Is it a simple oversight on Microsoft’s part? Pure laziness? Turns out, there’s more to it than you might think (and yes, it’s intentional).

As Microsoft developer Zac explains on Reddit, drivers for third-party hardware like a video card or sound card are best when supplied by the manufacturer. That means, you’ll want to get your GPU driver from AMD or Nvidia rather than Microsoft’s “generic” driver (but you still want Microsoft's as a fallback if you don't have proper drivers, say, when building a new PC).

When PNP ranks drivers, it first looks at the hardware ID that the driver matches. If any two drivers match identical hardware, Zac notes, the first tiebreaker is the date of the driver. By dating its drivers June 21, 2006 (the Windows Vista Release to Manufacturing (RTM) date), Microsoft is ensuring its drivers are never picked first ahead of newer drivers from OEMs.

Microsoft employee Raymond Chen corroborates Zac’s explanation, adding that it does look a bit funny but it all works out in the end.

Permalink to story.

 
Still not a very good reason honestly. A certificate check would be a much better option.
 
That's a pretty lazy way of going about that, but I guess it works just as well? I'm surprised that PnP is even allowed to consider a Windows generic driver if a third party driver already exists either on the PC or in the Windows Update driver repository.
 
Still not a very good reason honestly. A certificate check would be a much better option.
And my good reader, what is a driver date? (*answer below)
So it is possible when comparing dates, older drivers can be installed.
No, the idea behind it is to always pick something from the manufacturers library (Even if old) but if there is none to go pick a generic one, a generic driver will make it work but probably not as efficiently as the one by manufacturer, reason why they put the old date to prioritize manufacturers.

PS: The answer is "part of a certificate".
 
Last edited:
And my good reader, what is a driver date? (*answer below)

No, the idea behind it is to always pick something from the manufacturers library (Even if old) but if there is none to go pick a generic one, a generic driver will make it work but probably not as efficiently as the one by manufacturer, reason why they put the old date to prioritize manufacturers.

PS: The answer is "part of a certificate".
Where do these drivers come from, if not the manufacturer of the device. Generic (aka: old drivers presented to MS from the Manufacturer) drivers still has a date and that date should be used.
 
While I agree with the research and ostensible reasons for the 2006 date, I don't think those are the reason this happens.

Microsoft does not adhere to it's own issued standards. Time and time again, developers have screamed bloody murder because they put tens of thousands of manhours and millions of dollars into adhering to Microsoft standards only to have Microsoft move the bar around (not even ahead, just 'around') and then have their work and investment tossed because the standard isn't anymore.

If memory serves me well, 2006 was the midst of the screaming as online games and the graphics they required were becoming big big business.

What is probably occuring here, is a set of standards that Microsoft has agreed to always leave in the O/Ses so HW and SW and Browsers will work, albeit not at peak efficiency. This gets Microsoft off the hot seat if the devs work doesn't kick in properly because users will always wait a bit for efficiency/effectiveness updates, but they won't wait for non-functional. Microsoft doesn't have to put unrecompensed money and manpower into solving the problem.

You don't have to like it, but it is a good business practice and prevents 'bleeding edge' frustrations for all the parties involved.
 
And my good reader, what is a driver date? (*answer below)

No, the idea behind it is to always pick something from the manufacturers library (Even if old) but if there is none to go pick a generic one, a generic driver will make it work but probably not as efficiently as the one by manufacturer, reason why they put the old date to prioritize manufacturers.

PS: The answer is "part of a certificate".
Where do these drivers come from, if not the manufacturer of the device. Generic (aka: old drivers presented to MS from the Manufacturer) drivers still has a date and that date should be used.
Microsoft often write generic drivers. The hardware generally has to support very low level common functionality and Microsoft just does the basics to get your display up or your sound playing but not using all the features of the device.
 
This explains the mess we have sometimes with Intel "chipset drivers". Windows prefers drivers with a newer date instead of the real latest driver (the one with the "bigger" version number).
 
Consider; the youngest file, by definition, is the latest version and avoids issues with how versioning is denoted in the file names.
 
It's dumb, so let say the manufacturer has a driver from 2010 as the latest driver and MS has one from 2015 thats way better but with this silly system the old crappy driver is the one that gets used.
 
Care must be taken as there are actually THREE timestamps associated with a file:
  • file creation
  • file alteration
  • file access
As a USER, our files typically get dated to the date it was loaded to the system. If a system level program installs a file, it can set any/all of these as it pleases - - and that can be per the article noted OR the date from the device provider's site.
We can't effect this at all, but as noted, the file creation can be used (by an intelligent updater) to track versioning.

btw: few systems default to tracking access times, as that drives the filesystem nuts.
 
It's dumb, so let say the manufacturer has a driver from 2010 as the latest driver and MS has one from 2015 thats way better but with this silly system the old crappy driver is the one that gets used.
So MS always trumps the hardware provider??? :giggle:
 
Care must be taken as there are actually THREE timestamps associated with a file:
  • file creation
  • file alteration
  • file access
As a USER, our files typically get dated to the date it was loaded to the system. If a system level program installs a file, it can set any/all of these as it pleases - - and that can be per the article noted OR the date from the device provider's site.
We can't effect this at all, but as noted, the file creation can be used (by an intelligent updater) to track versioning.

btw: few systems default to tracking access times, as that drives the filesystem nuts.
He had a screenshot of cryptographic signature dates. Those are not altered by the things you mention.
 
Back