Windows 7 has an extensive library of device drivers, which are maintained in the driver store. On 32-bit computers, you'll find the 32-bit driver store in the %SystemRoot% \System32\DriverStore folder. On 64-bit computers, you'll find the 64-bit driver store in the %SystemRoot%\System32\DriverStore folder and the 32-bit driver store in the %SystemRoot%\SysWOW64\DriverStore folder.
Within the driver store, you'll find subfolders with localized driver information for each language component configured on the system. For example, for localized U.S. English driver information, you'll find a subfolder called en-US.
The driver store also has a file repository containing nearly 10,000 files that support tens of thousands of different devices. The file repository is located in the DriverStore \FileRepository subfolder. The purpose of the file repository is to be the main storage location for device drivers. As you install updates and service packs for the operating system, you may also be updating or changing driver information files in the file repository.
Microsoft has certified every device driver in the driver store to be fully compatible with Windows 7. These drivers are also digitally signed by Microsoft to ensure their authenticity. When you install a Plug and Play hardware device, Windows 7 checks the driver store for a compatible device driver. If a device driver is found, Windows 7 automatically installs the device.
In the file repository, device drivers are organized by device class. In the various sub-folders, you'll find .inf and .sys files for each device driver. You may also find .pnf and .dll files for drivers.
All device drivers have an associated Setup Information file, which ends with the .inf extension. The .inf file is a text file containing detailed configuration information about particular classes of devices or a related set of devices. As an example, the msmouse.inf file has driver information for logical serial mouse and logical PS/2 mouse devices from Microsoft (see Figure 5-3).
The driver information file specifies the basic configuration settings for the HAL and identifies any source or linked library files that the device should use. Source files have the .sys extension. Linked library files have the .dll extension. Some drivers also have associated component manifest (.amx) files. Component manifest files are written in extensible Markup Language (XML) and stored in the Manifeststore subfolder. They include details on the driver's digital signature and can include Plug and Play information used by the device to configure itself automatically.
All drivers installed on the operating system have a source .sys file in the Drivers subfolder. Within the Drivers folder, you'll find subfolders with localized driver source files for each language component configured on the system. For example, for localized U.S. English driver source files, you'll find a subfolder called en-US.
Following this, the key folders used with drivers on a computer localized for U.S. English are:
_| msmouse.inf - Notepad File Edit Format View Help
; Device Names
*pnp0f01.Deviceoesc *pnpOf03.Devi ceDesc *pnpOf09.DeviceDesc *pnp0f0a.DeviceDesc *pnpOfOb.DeviceDesc wpnp0f0c.DeviceDesc *pnp0f0e.DeviceDesc *aui02 00. Devi ceDes c *pnp0f0f.DeviceDesc ^pnpOflB.Devi ceDesc *pnpOfle.DeviceDesc *serenum\msh0001.DeviceDesc *serenum\msh0004.Devi ceDesc seriai__mouse. DeviceDesc
'Microsoft serial Mouse" 'Microsoft PS/2 Mouse" 'Microsoft serial Ballpoint" 'Microsoft serial Intel 1 iMouse" 'Microsoft PS/2 Mouse" 'standard serial Mouse" 'standard PS/2 Port Mouse" 'standard PS/2 Port Mouse" 'Microsoft serial Ballpoint" 'PS/2 compatible Mouse" 'Microsoft serial EasyBall" = "Microsoft serial Intel 1 iMouse" = "Microsoft serial intelliMouse Trackball" = "standard serial Mouse"
= "Logitech PS/2 Port Mouse"
*pnpOf08.DeviceDesc serenum\lgi8001. DeviceDesc= serenum\lgi8002. Devi ceDesc= serenum\lgi8003.Devi ceDesc= serenum\lgi8005.Devi ceDesc= serenum\lgi8006. DeviceDesc= serenum\lgi8007. DeviceDesc= serenum\lgi8008. Deviceoesc= serenum\lgi8009. DeviceDesc= serenum\lgi800A.DeviceDesc= serenum\lgi800b . DeviceDesc= serenum\lgi800c.DeviceDesc= serenum\lgi8011.DeviceDesc= serenum\lgi8012. Devi ceDesc=
"Logitech serial Mouse" "Logitech First/Pilot Mouse serial (M34,M35,C43)" "other Logitech Mouse serial" "Logitech TrackMan Portable serial" "Logitech MouseMan serial" "Logitech MouseMan serial" "other Logitech Mouse serial" "Logitech TrackMan portable serial" "other Logitech Mouse serial" "Logitech TrackMan vista serial" "Logitech MouseMan serial" "Logitech MouseMan serial" "other Logitech Mouse serial" "Logitech TrackMan Live! serial"
Figure 5-3. Viewing the devices associated with the driver file
When you install a device driver, the driver is written to a subfolder of the Drivers folder and configuration settings are stored in the registry. The driver's .inf file is used to control the installation and write the registry settings. If the driver doesn't already exist in the driver store, it does not already have an .inf file or other related files on the system. In this case, the driver's .inf file and other related files are written to a subfolder of DriverStore\FileRepository when you install the device.
Was this article helpful?