Disclaimer: I am very intimate with the process of drivers going to WU: I
used to be the dev owner of the feed from WHQL to Windows Update.
http://en.wikipedia.org/wiki/WHQL
Here is the summary of what I am about to discuss: If the driver is not
marked 'Important' or 'Critical', and you are not having any problems with
your device, don't download the driver from WU. Go to the website of the
manufacturer instead.
And now for the gritty details:
I am going to use "Foo Inc" as my example company - think of a display
company like NVIDIA or ATI (AMD). "Foo Inc" manufacturers a video card
chipset (like a Geforce, or Radian) - but being a manufacturer, they don't
actually sell to end users. Instead, "Foo Inc" sells the chipsets and
reference drivers to 3rd party companies, most of which are based out of
Taiwan. It is these 3rd party companies that build the complete package
from the chipset, sometimes adding more memory, or over/under clocking the
device.
It is also this 3rd party company that is responsible for supporting you
with driver updates, etc. Unfortunately, support costs money, and eats into
the price point for this third party company (you weren't really thinking of
support when you were looking at the prices of the different video cards,
were you?)
So here is where we move from a business problem to a technical problem.
When "Foo Inc" resold the chipset to the 3rd party, they embedded this
information into the device identifier strings (hardwareIDs).
Here is an example from a device in my machine right now:
PCI\VEN_10DE&DEV_0193&SUBSYS_042010DE&REV_A2
PCI\VEN_10DE&DEV_0193&SUBSYS_042010DE
PCI\VEN_10DE&DEV_0193&CC_030000
PCI\VEN_10DE&DEV_0193&CC_0300
PCI\VEN_10DE&DEV_0193&REV_A2
PCI\VEN_10DE&DEV_0193
PCI\VEN_10DE&CC_030000
PCI\VEN_10DE&CC_0300
PCI\VEN_10DE
PCI\CC_030000
PCI\CC_0300
I won't bore you with the details on how this list is generated, but this
list is important as it determines what driver you will be offered from WU
(if more than one driver applies to your device).
Windows Update (and Plug and Play) walk the above list of hardwareIDs, and
attempt to find a driver for your device. A driver includes an INF file,
which is a human readable file with one or more of the above hardwareIDs
embedded in it. It is because this INF has the hardwareID in it that PnP
knows that the driver supports the device.
Starting from the top of the list, each hardwareID is a better match than
the next hardwareID in the list. So if Driver1 has
PCI\VEN_10DE&DEV_0193&SUBSYS_042010DE&REV_A2 in it, then it will always(*)
be a better match than Driver2, which has PCI\VEN_10DE&DEV_0193.
So here is the point you need to remember: The Date/Version of the driver
(from the INF file) only comes into play if everything else is equal.
Meaning that if a super old driver is on WU for
PCI\VEN_10DE&DEV_0193&SUBSYS_042010DE&REV_A2, WU will always consider it a
better match than PCI\VEN_10DE&DEV_0193, even if the driver for
PCI\VEN_10DE&DEV_0193 was built just yesterday.
The reason for this is because Windows PnP assumes that a driver that came
from the 3rd party is better than the chipset provider.
The driver you get from NVDIA.com or AMD.Com for your display device will
almost always have a two part PCI match (PCI\VEN_xxxx&DEV_yyyy). And so if
you go grab the latest and greatest driver from either of these websites,
and there is a "better" matching driver on WU
(PCI\VEN_xxxx&DEV_yyyy&SUBSYS_xxxxyyyy) - WU will actually offer and install
an older driver! In some cases - a driver that is a lot older.!
At this point, you might be thinking that you should never get a driver from
WU. That is not necessarily the case.
By default, drivers on WU are marked as 'optional' updates. If the driver
you are looking at is marked optional, you should probably just ignore it
and keep what you have.
If you don't have a driver for your device, a driver from WU might just be
an improvement. Windows Update will promote the driver update to
'Recommended' if it detects that you don't have a driver, and there is one
available for you.
On rare occasions, a vendor will find a 'big' problem with their driver.
These include major stability issues, security problems, etc. In these
cases, the vendor can work with Microsoft to promote the driver update to
'Critical' - which means that if you have Automatic Updates set to install
updates on a scheduled basis, you might find yourself with an updated
driver.
You can find detailed info about PnP ranking in the MSDN or DDK:
http://msdn.microsoft.com/en-us/library/aa477022.aspx
(*)Note: this isn't exactly true, but for our discussion we will consider
it a true statement.
Also - I quickly typed this message, and was interrupted several times. So
if you see grammatical errors, or if I simply don't make sense, then blame
the jerks who keep walking into my office! :-þ