Windows Update is the online extension of the Microsoft Windows operating systems that helps keep Windows-based computers up-to-date with the latest software updates and device drivers. This article provides information for hardware and system manufacturers who are interested in offering device drivers through the Windows Update service.
Windows Update supports the download and installation of drivers for the most recent releases of Windows. Windows Update does not offer drivers for releases earlier than Windows 98 (such as Windows 95 and Windows NT 4.0).
All drivers that pass the Windows Logo Program testing are candidates for distribution on Windows Update. However, there are requirements, in addition to the Windows Logo Program requirements, that must be met to determine whether a driver can be hosted on the Windows Update service, as described later in this article.
The additional requirements ensure that Windows Update can accurately and seamlessly detect, download, and install the drivers to end users' computers. The driver-detection algorithms used are similar to those used by the Windows Plug and Play subsystem to determine which drivers are suitable for installation on a particular computer. All user-access methods for Windows Update use the same engine to download and install drivers, providing a consistent experience.
Users can access Windows Update in any of these ways:
| • | Through user installation of a new device on a PC |
| • | From the Start button |
| • | By clicking the Update Driver button in Device Manager |
| • | By connecting directly to the Microsoft Windows Update Web site |
Users can get drivers from Windows Update in these ways:
| • | Dynamic Update |
| • | Automatic Updating |
| • | Windows Update Site |
Advanced users who want to download individual drivers without detection can do so through the Windows Update Catalog site for different locales and platforms, based on the users search criteria. Some drivers may exist on the catalog site but not on the main site (such as drivers for server hardware like Fibre Channel).
| • | Device Manager |
| • | Add New Hardware Wizard |
| • | Add Printer Wizard |
To distribute device drivers, Windows Update scans the PC for system files and unique Plug and Play IDs. The dynamic inventory of hardware and operating system files is then compared to an index on a back-end database to determine whether any updates are a match for installation. Applicable updates with descriptions are listed for the user to decide whether to install them. Updates installed through Windows Update can also be uninstalled.
Windows Update uses the same algorithm that Windows Plug and Play uses to find new drivers for devices that have no drivers installed or to find a better driver match for a device that already has a driver installed. The attributes used are the same as those used by Device Manager to determine whether to install a driver. For more details see the WDK.
Additional attributes for printer drivers are used in determining a matching driver. These are:
| • | Manufacturer from the [Manufacturer] section of the INF file |
| • | Provider from the "Provider" entry of the [Version] section of the INF file. |
| • | Driver name from the device-description entry in the [Models] section of the INF file. |
In addition to meeting the Windows Logo Program requirements for hardware, drivers must also be "Web-publishable" via the Windows Update service. To that end, drivers must be detectable, installable, and redistributable by Windows Update by meeting the following requirements:
| • | Windows Update Distribution License for Device Drivers. |
| • | WHQL Test |
| • | Detection - DriverVer. |
| • | Detection - Specific Plug and Play ID. "Specific Plug and Play ID" means the following per bus: PCI and AGP buses: Contain subsystem ID and subsystem vendor ID (&SUBSYS in the ID string). Drivers must have VID/DID/SVID/SID PNP ID entries to be published via Windows Update. PCI Device Subsystem IDs and Windows specifications are available at: http://www.microsoft.com/whdc/archive/pciidspec.mspx PCMCIA: Always specific; contains PCMCIA in the ID string. USB: Contains VID and &PID in the ID string. IEEE 1394: Always specific; contains 1394 in the ID string. HID: Contains &VID and &PID in the ID string. IDE: Contains IDE\ in the ID string. Parallel Port Printers: Contain LPTENUM\ in the ID string. IrDA Printers: IDs begin with HWP. The devices listed above are distributed from WHQL to Windows Update Services. For more details see WHQL submission requirements at https://winqual.microsoft.com/help/default.htm#winqual_requirements.htm. Not all PNP IDs in an INF file have a Windows logo. Windows Update uses only PNP IDs that have the Windows logo to create detection sets for Windows Update. PNP-compatible IDs are not used because they are not specific enough for Windows Update detection. |
| • | INF-Based File Installation. Drivers must install core functionality from the INF file. Drivers must install through Device Manager. That is, the Add New Hardware Wizard must work properly. There can be no Setup utilities for files that provide core device functionality. For more details, see the WDK. |
Windows Update uses the driver description information included in the driver INF file.
The Windows Update Web site displays information as follows:
| • | Title for device driver = the company name as defined in the inf files provider = line and device class (video adapter, analog modem, and so on) from the infs class = line. |
| • | Description = the driver description as defined in the inf file. |
If a device driver binary is submitted to WHQL for multiple locales or languages, then the driver will be offered on the localized Windows Update service for the target operating system for which it is intended. If the driver is submitted to WHQL as an English binary only, then it will be offered only on the English-language version of Windows Update for the targeted operating system.
Note: To achieve maximum distribution, be sure to list all of the locales and languages in which your device driver works when you submit the driver to WHQL for Windows Logo Program testing.
Call to Action:
Post all your drivers to Windows Update for distribution by following the directions in this article.
References:
| • | Windows Logo Program for hardware information is available at http://www.microsoft.com/whdc/winlogo/default.mspx |
| • | WHQL INF requirements for PCI devices are available at http://www.microsoft.com/whdc/connect/pci/infreq.mspx |
| • | WDK information is located at http://www.microsoft.com/whdc/devtools/wdk/default.mspx |