Over time on Windows systems, it's inevitable that old device drivers are supplanted by new ones. Even on systems where drivers aren't rigorously maintained, Windows Update will typically update or replace, on average, a dozen drivers annually.
Those who pursue driver currency more vigorously may use tools like the Intel Driver Update utility, GeForce Experience (an Nvidia tool that checks graphics, sound and 3D drivers) or outright driver management tools such as eSupport's DriverAgent or Slimware Utilities’ Driver Update to check and update drivers on their Windows PCs (whether Windows 7, 8 or 10.) The Intel and Nvidia offerings concentrate on devices they make, whereas general-purpose driver update tools like those just mentioned from eSupport and Slimware Utilities check all of them – and point you at drivers in need of updating, with varying degrees of help and support in getting them installed.
What happens when you install a Windows Driver?
Installing a Windows Driver is actually a fascinating process, and involves a lot of behind-the-scenes action in Windows. For this discussion I'm going to stick to so-called Plug and Play (PnP) devices, which are built to announce themselves to Windows so that it can at least assist in finding a device driver to use, if not find the latest and greatest instance of its kind. My information comes courtesy of Mark Russinovich and David Solomon's terrific book Windows Internals (6th edition in two volumes, as of this writing):
- A bus driver informs the PnP manager about a device it discovers during enumeration using a device instance identifier (DIID).
- The PnP manager checks the registry for a corresponding function driver. When it fails to find one, it tells the user-mode PnP manager about that device using its DIID.
- The user-mode PnP manager tried to perform an automatic install without user input or intervention. For those installers that involve posting of dialog boxes that require user input, the PnP manager will execute a Hardware Installation Wizard to oversee such task(s) if the logged-in user has admin privileges. (If not, this activity will be deferred until an admin-level user next logs in.)
- The Hardware Installation Wizard uses Setup and CfgMgr (Configuration Manager) API functions to locate INF files that correspond to drivers that are compatible with the detected device. This might involve accessing the Microsoft device databases to look for such files, or accessing such files from the local file system (or media like a CD or DVD) at the user's direction.
- Installation proceeds in two steps: (1) The third-party driver installer imports a driver package into the driver store, and (2) the OS performs the actual driver installation, using the Drvinst.exe process (the executable for which resides in %SystemRoot%\System32\). As part of that process, .inf and .cat files are deposited in the driver store associated with a DIID that takes the form of oemnnn.inf, where nnn represents a one- to three-digit decimal number
Sign up for Computerworld eNewsletters.