Why all of Microsoft's Windows drivers are dated June 21, 2006

Today is June 21, and this particular date is rather important for Windows, but probably not for a reason you might have expected. Should you be rocking drivers supplied by Microsoft for Windows, you'll be able to find out the date they were released by heading into Device Manager (simply search "Device Manager" with Cortana). Interestingly, all of these drivers are dated to June 21, which seems to imply that they were rolled out today, but that's not the case when you check the year: 2006, exactly 11 years ago.

So is Microsoft simply slacking when it comes to accurately dating its drivers? Not at all. As new versions are released, the version number tied to the driver increases (as one would expect) but the date remains the same. It turns out, there's another reason the company dates its drivers to that particular date. Microsoft discussed the reason in an article (opens in new tab) on MSDN:

When the system looks for a driver to use for a particular piece of hardware, it ranks them according to various criteria. If a driver provides a perfect match to the hardware ID, then it becomes a top candidate. And if more than one driver provides a perfect match, then the one with the most recent timestamp is chosen. If there is still a tie, then the one with the highest file version number is chosen.

In a nutshell, when Windows looks for drivers for a new device connected to the PC, it attempts to match it via hardware ID. If more than one driver is a solid match, the OS selects the one with the most recent timestamp. This is why the company sets the older June 21 date on its drivers, which avoids a situation in which a Microsoft driver was selected over a manufacturer-provided alternative.

Unfortunately, there's no cool easter egg here but it's a neat way for Microsoft to ensure that better drivers are selected, should they be presently installed on the system. Again, Microsoft summed it up nicely in the MSDN blog:

It's an awesome example of something that seems stupid and insignificant turning out to have a profound purpose.

Rich Edmonds
Senior Editor, PC Build

Rich Edmonds is Senior Editor of PC hardware at Windows Central, covering everything related to PC components and NAS. He's been involved in technology for more than a decade and knows a thing or two about the magic inside a PC chassis. You can follow him over on Twitter at @RichEdmonds.

  • I don't see it as profound.
    I see it as a mistake, just use the correct date.
    If a product is released in 2016 it will have 10 year old drivers, that's stupid
  • You didn't read the article. That's stupid.
    "This is why the company sets the older June 21 date on its drivers, which avoids a situation in which a Microsoft driver was selected OVER a manufacturer-provided alternative." This would be helpful in a CLEAN USB ISO install.
    I have a GTX 750Ti card and after a clean install, it installs the default MSFT Graphics drivers. But checking for updates again gives me the latest drivers from Nvidia. That's how this works my friend.
    Update - Looks like some ppl still didn't get the graphics card explanation. I didn't feel the need to really elaborate, but here it is (shortened)
    - This system is good because it tells the customer that the brand new hardware they purchased works! Basic I/P, O/P works. Now when they UPDATE the driver from the OEM's site or Windows Update, it'll work better (you'll notice improvement in resolution, if you've ever done a clean install). If something goes wrong, we know whom to blame.
    Also, we'll know if certain OEM's are lazy too. The HW might work with basic drivers, but dedicated OEM drivers would help sometimes.
  • Then how did i spot the profound part if i didn't read it? The article says the OS use various criteria to arrive at a choice of driver.
    Dates being one of the criteria.
    Then why not add manufacturer to the criteria?
    % select 1st instance - does not equal to Microsoft.
  • That would be making it unnecessarily complicated. You know how many OEM partners Microsoft has? Also, date is the simplest thing! Version number helps too.
    Edit - Didn't get what he meant by "does not equal to", at first. "Not Microsoft" is better as he puts it in the comment below.
  • You didn't read my reply. That's stupid. The string does not need to know how many OEM partners to choose from.
    All it needs to know is...
    % select anything NOT Microsoft
  • I did read your reply. You have a valid point but I guess it's something to do with this - With MSFT provided basic drivers, your new hardware (with old drivers) will still work. It'll let the customer know that their brand new graphics card or 3rd party mouse works. Next, *check for updates*, get new drivers, still works? GOOD. Doesn't work? Contact OEM.
    And at first I didn't get what you meant by "% select..."
  • Oohh, so now I'm not so stupid.
    """at first i did not get what you meant"""
    YOU DID NOT READ... Cheers.
  • No, your second comment that mentioned "not Microsoft" made more sense, that's all. The first comment said "does not equal to Microsoft' which I frankly didn't understand. :)
  • You must be a fool
  • The system works. Why mess with it. Microsoft's drivers great but should most often come second.
    You're stupid for caring this much about MS dates on their drivers.
  • It's a dirty workaround thats the problem. It's a sign for bad quality if you know anything about Software Developing and it is NOTHING to be proud of. That's the only reason. And if it's an old hardware from 2006, the driver used will not be the one from the manufacturer but one from Microsoft. Hence I already found a bug in the OS.
  • A bug? Maybe not. I think this explains it - my understanding - With MSFT provided basic drivers, your new hardware (with old drivers) will still work. It'll let the customer know that their brand new graphics card or 3rd party mouse works. Next, *check for updates*, get new drivers, still works? GOOD. Doesn't work? Contact OEM.
  • It's a genius workaround for the tens of thousand of peripherals that's still usable today. And yes I have a Fujitsu TabletPC from 2006. Using Fujitsu's drivers are just super unstable in Windows 10. MS generic drivers are MUCH better! So what bug do you mean? And yes, I know something about SDLC, being a system programmer years ago working with hardware/software interface.  
  • I could be wrong but I'm sure there's a reason why they put that specific year in terms of hardware/devices that can be supported. Otherwise I feel they would've put like year 1000 or something if they wanted to make sure all hardware would correctly have the right drivers
  • Since its done intentionally, its by definition not a mistake.  But lets do the reverse; explain why your way is BETTER than the current way.  I'll explain why I think the current way is better; it doesn't matter if new MS drivers have the Manufactor as "Microsoft" or "Microsoft, Inc.", or "Microsoft Inc."  It also doesn't matter if the string is Unicode, or localized.  Also they may send the information to a web service they run to determine if Windows Update has a more recent driver.  A date is just a number, whereas the string data may require more data to send.  This may just be a few bytes per call, but when you've got millions of clients sending data into and out of your data center, that means significantly more bandwidth you need to buy.  
  • It remains a mistake until it is corrected
    How is my way better? It is better because it solves the date issue.
    Essentially you have two paths to locate the best driver.
    Column1 - OEM and Column2 - Generic MS In each column you have all the scenarios in the article.
    Then cross-reference each scenario with the other column. The returned results from both columns gives you dates.
    The newest WHQL signed driver wins.
  • "it remains a mistake until it is corrected"  I don't think you understood ajj3085's first sentence: "since it's done intentionally, its by definition not a mistake." Yes the driver date is technically incorrect, but they purposefully put that date in.  I understand what you're saying about why you think your way is better, but it doesn't address what ajj3085 stated about bandwith.
  • Your method uses more bandwidth and is slower. Dealing with strings is always slower than with integers. All around, your method performs poorly compared to the current method. So, do you want performance? Or do you want to fix someone's OCD?
  • By your logic, every WebService that uses Strings don't work. And sorry but the Bandwidth one doesn't work either. Just for one Windows Update they send more Data than for a whole driver download. You will download a driver that's potentially houndreds of MB in size and say that a string with like 10-30 characters is too much.
  • Dude, you're just an idiot. Its a failsafe measure. If a plug something in that doesn't have a driver, but matches the GUI ID of another driver, and there are 2 matches.....microsoft will pick the newer dated one, its that simple. Manufacturer doesn't matter since many generic drivers work for many different devices that have similar chipsets in them. Its that simple.
  • "Dude" first of all don't call someone else an idiot. I think you're the idiot here. That's not the way you build a failsafe. A failsafe is to pick a Microsoft driver if nothing else is found and the way to do that is by applying the correct code statement and not by using a workaround. When you're programming you don't have to rely on wrong dates to make failsaves. Go read about a switch-case (specially the default statement) for example and you should know that's one of the most basic things in programming. I don't even know why I am arguing here with people like you.
  • Microsoft using workarounds on their own OS instead of making things right. If that's not stupid, I don't know what it is, but it is not profound, and I wouldn't be proud of it.
  • It's simple and genius.
  • I just don't get it how some people keep praising wherever a company (in this case Microsoft) does, even when it is obvious that it's simply their laziness. They are supposed to do things right, and is not it.
  • Work smarter, not harder.
  • Yes, work smarter, but do it right. :)
  • usually the simplest solutions are the best solutions
  • Yes, but in this case they were simply lazy. Plus, this ain't genius, a programming student could have come to this idea pretty easily.
  • KISS - Keep it simple, stupid. Even the US Navy uses this principle. If it truly were stupid, you'd all be dead.
  • You're right about that, but right now it's not the case because doing it right wouldn't be overcomplicating it. :)
  • Whatever helps you sleep at night.
  • Wow, you have no idea how programming really works do you.... You've never coded have you?
  • @DSR11, are you replying to me? But anyways, I don't know coding but have common sense 🙂
  • You really don't get it do you? Did you even read the article? It's so that manufacturer's have top priority when it searches for a driver. That's it. Nothing else. And if it does need the one with the older date, that is not a "10 year old" driver. It is more than likely just a few months old. That's why the article said they update the version number on it. It is not a difficult concept to understand. Nor is it stupid. The fact that you are struggling with this comprehension is profoundly telling of your understanding.
  • "Some people"... Lol
  • The article used the word stupid.
    Maybe you didn't read it or you panic when you see the word.
    Regardless, if you don't understand simple filter and sort properties... Then you shouldn't reply but rather cheer the other commentator who has the same level of understanding as you. Even basic Excel knowledge would get you up to speed.
  • Wow, angry much that people are arguing with you?
  • Some filter lessons for you...
    -equals to
    -does not equal
    -is greater than
    -is greater than or equal to
    -is less than
    -does not contain
    -begin with
    -does not begin with
    -does not end with... You can ride a string out until the return of the lord.
  • Not trying to argue with him, but he still doesn't understand the point. Not replying to him anymore. Thanks for understanding, @Summer_Moon.
  • Agreed :) I hope you have a great day Abhi!
  • You misunderstand.  If a hardware vendor releases a product in 2016, then they should release a driver for it in 2016.  It will show a 2016 driver. If their driver does not support your version of Windows, Microsoft will try to use a default driver, and it'll show up as that magical date.  It's a good indication that: you either have old hardware, or hardware that the vendor has not updated its drivers for. If anything, it shows when hardware vendors are too lazy to provide updated or accurate drivers.
  • True it's not that profound, but it's not a mistake either. It's just a smart little trick to ensure newer OEM driver are selected first. The date 21-June-2006 is probably the date of most system files in Windows Vista but I'm not sure. Vista drivers are like the "base" to everything else that came after, as many default Vista drivers work fine on Windows 7 and probably 8 & 10 as well.
  • Yes Windows vista drivers came in both x64 and x86.
    It was the first time 32&64 were aligned. This did not happen before as WindowsXP x64 only shipped in 2005 while the 32bit came in 2001
  • IIRC, Microsoft changed their driver model for Vista (and later) which came out around that time. The logic they are using helps ensure that the generic MS drivers are used as a last choice.
  • It's like when you parse something and it failed, use the default value. Where's the mistake? Not getting any driver will be a bigger mistake.
  • Default will be generic Microsoft not 2006 dated.
  • As opposed to "default to 2006"? See, I already simplified what you said. Windows is an incredibly complex piece of softwae, why bother with something so trivial as this when there are far more important things to consider that aren't so simple to solve... Or maybe you'd rather Microsoft focuses on not using "hacks" and let more hackers and malware into your system?
  • Incredibly complex?
    You're trying to show off a product you had no part in creating...
    to an audience which already like the product and own a number of versions.
    In a comment section of an enthusiast's website of the very same product.
    That's funny 😁
  • If you go to the original article, someone (more curious than impolite, not like you) asked the same thing and some Microsoft guy gave him this response:
    It sounds very hacky, but it’s actually very flexible and robust. There’s an implicit ranking system here that’s more nuanced than “MS drivers are the lowest rank.” By picking a 2006 date, the real effect is that any Vista+ driver will outrank the MS driver – but XP drivers won’t. SOME MS drivers actually have a 2009 date, because there was some breaking change in Win7 – so Vista drivers will be lower ranked, but anything Win7+ will be good. You can extrapolate onwards – this system allows the ability to pick the date of the last breaking change to the underlying platform, and essentially deprecate older drivers without any code change. It just turns out that most components are compatible all the way back to Vista.
    Funny how developers always think they know better when they actually have no idea of the problems the developers faced at the time (and I say this as a developer).
  • damn I wish I read this before replying to someone's comment farther above, could've just referenced what you said but I said there's probably a reason why 2006 is the specific date/year picked but that I didn't know why. So now it all makes sense, thanks!
  • You welcome
  • You're* Maybe you should spend more time on your English and less time on trolling comment sections.
  • Lol...
  • You're* bruised? That's ok
    You're* just growing up, that's all.
    You're* one day going to win the comment section... I hope i spelt and grammar checked everything...
  • Wow!! I always wondered why this was the case!! Thanks Rich!! 🙂 And thanks Microsoft! 😄 But really, they could have chosen any date. Why June 21st?
    One weird thing though. I have a Samsung NVMe in my laptop and it still shows the 2006 driver as the latest one. That means Samsung hasn't released their own drivers?? Also, did we have drivers for SSD's in 2006?!!
  • Could it just be a default driver that also applies to NVMe, but was released for devices in 2006?
  • Don't know, Hayden. And I don't know whom to ask but I'll try @NorthFaceHiker and @JenMsft. Helpful peeps.
  • Perhaps web searches about which type of driver you have could help, too :)
  • http://pcidatabase.com/ this is handy website that will help locate drivers for unidentified hardware etc.
  • It's the default NVME driver so you're not getting the performance of your SSD. Grab the drivers from Samsung's website and you'll be good. Also grab their Samsung Magician program to monitor the device and keep the firmware updated (if any is to be released).
  • That's the problem, I don't find any drivers in their website :(
    Another issue is, I did a USB ISO clean install and now task manager doesn't show the exact model number of my SSD. Before resetting, it used to say Samsung NVMe, but now its just some generic name. Part code I guess.
  • There are manufacturers that don't release drivers to Windows Updates and require you to go to their site for them. That's why device manager will show you up to date when in fact your not. https://www.windowscentral.com/e?link=https2F2Flink... That's the page you want, NVME Drivers are down the list. All Samsung NVME use the same drivers.
  • Thanks, I'll check it up! :)
  • Uhh Kyle.. I installed the Magician software first, and it doesn't even RECOGNIZE my SSD!! I think that clean install via USB ruined everything. The Manufacturer is listed as "Unknown". :((((
  • No we didn't. But the article says Ms drivers are dated at 21st June, not released on 21st June. Only the version numbers are "latest"
    That's how I understood
  • Well, if I'm not mistaken, June 21st was Windows Vista's RTM. Maybe the original driver files were created with Windows Vista?
  • That means, it's just using Generic Storage Device "class drivers". The only thing you can configure is whether you'd want to enable cache in those devices.
  • MS are talking BS!!!!!
  • Indeed.
  • Let's see you guys creating a new OS from scratch and not use hacks to simplify your code. I look forward to being able to troll your code.
  • Exactly, these people comment so much, so just do it yourself!!! Or go to Linux. Crazy!!
  • Good information.
  • Okay, so what about hardware provided by Microsoft?  I have a Microsoft USB mouse that shows that date.  I understand following their standard, but I'd think if they are the first party hardware vendor, they should provide properly dated drivers. :)
  • I have the same question. I think it's something to do with, "If it ain't broke, don't fix it"? I mean, Windows 10 as an OS is really ADAPTIVE. Plug in any mouse or keyboard and it works! We just need it to work and I think hardware such as Wireless Mouse 800, 1000 and keyboards of that series need basic drivers, to work. 🙂
  • On the other hand, if they really are updating the drivers, they should also update the year. I don't get that part. Version number increases for sure. Haha.
  • Well in that case the version number would come into play. Then it will properly select the latest driver because the date is the same.
  • Yup. :)
  • what are you talking about?! If the driver service finds a newer driver online it will install that one, first-party or third-party doesn't matter
  • You can have Microsoft variations.
    - Microsoft Corporation
    - Microsoft Hardware
    - Microsoft Mobile The generic is just Microsoft.
  • True. I don't have enough Microsoft-branded hardware to know how this applies to their variations.  I suspect it'll be the same.
  • You could probably get the LATEST driver if you install Microsoft Keyboard and Mouse Center. However, if you have a cheapo MS wired mouse with 2 buttons and a scroll wheel, there really isn't any need for the latest drivers to enable all the features. If you have an Ergonomics Keyboard 4000 or an Arc mouse 2017 with special functions, you'd probably want some flexibility in configuring the buttons and adjust the touch scroll.  
  • The date only applies to Microsoft's generic drivers (using Vista's generation driver model) which provide minimal functionality. I would expect drivers targetting their specific hardware would have later dates.
  • This is good to know. When I installed my new Logitech BRIO 4K webcam, I thought I might be having some problems with it and thought the driver date being 2006 was suspicious. Now I understand that's normal if it's not using the manufacturer's drivers.
  • Why does this article suggest this is Microsoft's official answer? The source is Raymond Chen's Old New Thing blog, which is a further elaboration of a Reddit post by an MS Dev. Raymond Chen does not represent Microsoft, he just works there and has a great blog. Also, June 21 2006 is Vista's RTM date.
  • Quite fascinating! I always assumed this to be the case. Nice to hear Raymond confirm it. Also, I'd wager a guess that 2006 was represented as a base year for an average of hardware in use today. Many people still use old systems so this makes a nice way of making sure they get current drivers from OS if it's old hardware and that they can still get new drivers from OEMs if it's current hardware. I'm seeing some comments that this seems like a workaround, but it's really not. It's a smart system all around, especially since OEMs often prove unreliable for drive updates.
  • *Redmond