Installing Devices and Drivers
Windows has supported Plug and Play for device and driver installation since Windows 9X. When you install a new device, typically Windows 8 recognizes and configure it. To support Plug and Play, devices contain configuration and driver information. Each Plug and Play device must:
- Be uniquely identified.
- State the services it provides and resources that it required.
- Identify the driver that supports it.
- Allow software to configure it.
Windows 8 reads this information when the device is attached to the computer, and then completes the configuration so that the device works properly with the other installed devices. Properly implemented, Plug and Play provides automatic configuration of PC hardware and devices. The driver architecture for Windows supports comprehensive, operating system-controlled Plug and Play. Plug and Play technologies are defined for Institute of Electrical and Electronics Engineers 1394 (IEEE 1394), Peripheral Component Interconnect (PCI), PC Card/CardBus, USB, Small Computer System Interface (SCSI), Advanced Technology Attachment (ATA), Industry Standard Architecture (ISA), Line Print Terminal (LPT), and Component Object Modem (COM). You can use Device Manager to install device drivers manually that are not compliant with Plug and Play.
Windows 8 introduce several improvements to the way that users can discover and use the devices that their computers host and which connect to their computers. Windows 8 can detect nearby devices in the home, automatically making them available for use. Windows 8 also can install a Metro style device app automatically from the Windows Store, when users connect their device for the first time. Metro style device apps that are companions to a device or PC have the ability to leverage the full range of functionality of that device or PC.
Improved Eng-User Experience
The success of driver installation depends on several factors. Two key factors are whether the device is supported by a driver package include with Windows, available on Windows Update or available from the Windows Store, and whether the user has media with the driver package that the vendor provides. Windows 8 includes several features that help an administrator make device driver installation more straightforward for users:
- Staging driver packages in the protected driver store. A standard user, without any special privileges or permissions, can install a driver package that is in the driver store.
- Configuring client computers to search a specified list of folders automatically when a new device attaches to the computer. A network share can host these folders. When a device driver is accessible in this manners, Windows does not need to prompt the user to insert media.
- Rebooting the system is rarely necessary when installing Plug and Play devices or Software applications. This is true because of the following reasons:
- The Plug and Play Manager installs and configures drivers for Plug and Play devices when the operating system is running.
- Applications can use side-by-side components instead of replacing shared, in-use dynamic-link libraries (DLLs).
These features improve the user experience and reduce help-desk support costs, because standard users can install approved driver packages without requiring additional permissions or the administrator assistance. These features also help increase computer security by ensuring that standard users only can install driver packages that you authorize and trust.
Drive Detection Process
When a user inserts a device, Windows detects it, and then signals the Plug and Play service to make the device operational. Plug and Play queries the device for identification strings, and searches the driver store for a driver package that matches the identification strings. If a matching package is found, Plug and Play copies the device driver files from the driver store to their operational locations, typically %systemroot%\windows32\drivers, and then updates the registry as needed. Finally, Plug and Play starts the newly installed device driver.
If a matching package is not found in the driver store, Windows searches for a matching driver package by looking in the following locations:
- Folders specified by the DevicePath registry entry.
- The Windows Update website.
- Media or a manufacturer's website that is provided after the system prompts the user.
Windows also checks that the driver package has a valid digital signature. If the driver package is signed by a certificate that is valid, but which is not found in the Trusted Publishers store, Windows prompts the user for confirmation.
Staging the device driver packages in this manner provides significant benefits. After a driver package is staged successfully, any user that logs on to that computer can install the drivers by simply plugging in the appropriate device.
Non-Plug and Play Devices
Devices that are not compatible with Plug and Play are becoming increasingly rare as manufacturers stop producing them in favor of Plug and Play devices. The term non-Plug and Play typically applies to older pieces of equipment with devices that require manual configuration of hardware settings before use. To view non-Plug and Play devices, in Device Manager, click the View menu, click Show hidden devices, and then expand Non-Plug and Play Drivers.
Installing Drivers into the Driver Store
Typically standard users cannot install device drivers. However, you can use the Microsoft Plug and Play Utility (pnputil.exe) to add drivers to the driver store manually. After the signed driver package is in the driver store, Windows considers the package trusted.
Note:
Run the pnputil.exe tool from an elevated command prompt. The tool cannot invoke the User Account Control dialog box. If you attempt to use the pnputil tool from a command prompt that is not running as administrator, the commands fail.
To add a driver, use the -a parameter to specify the path and name of the driver, for example, pnputil -a <PathToDriver> / <Driver>.inf
.
Windows validates that the signature attached to the package is valid, the files are unmodified, and the file thumbprints match the signature.
After adding a driver, note the assigned number. Drivers are renamed oem*.inf during the addition. This is to ensure unique naming. For example, the file MyDriver1.inf may be renamed oem0.inf. You can view the published name by using the -e parameter, for example pnputil -e.
Typically, you do not need to uninstall a Plug and Play device. Just disconnect or unplug the device so that Windows does not load or use the driver.
The following table lists the options available with pnputil.exe:
Options Descriptions -a <PathToDriver>/<Driver>.inf Add thdriver package specified by <PathToDriver>/<Driver>.inf to the driver store. -a <PathToDriver>/*.inf Add all the driver packages in the path specified. -l -a Add and install the driver package specified by <PathToDriver>/<Driver>.inf <PathToDriver>/<Driver>.inf to the driver store. -e Enumerate all third party driver packages. -d OEM <#>.inf Delete the driver package specified by OEM<#.inf. -f -d OEM<#>.inf Force the deletion of the driver package specified by OEM<#>.inf.