Windows 7 / Getting Started

Using PnPutil.exe

PnPutil.exe can be used for online staging of driver packages on Windows 7 systems. This procedure is known as online servicing of Windows. PnPutil.exe supersedes the DevCon.exe tool for managing device drivers on earlier versions of Windows. You can run PnPutil.exe to add, remove, and enumerate PnP drivers from a Command Prompt window, or you can script it for batch operations.

The following examples use PnPutil.exe to perform various actions against the driver store. For the full syntax of this command, type pnputil /? at an elevated command prompt.

  • pnputil -a a:\usbcam.inf Adds the package specified by Usbcam.inf into the driver store. This command requires you to run PnPutil.exe with administrator credentials but does not require that the device be connected to the computer.
  • pnputil -a path_to_INF_files\*.inf Stages multiple drivers using a single command or script. You must first place all driver packages into the central directory referenced in the command.
  • pnputil -e Enumerates all packages that have been published (staged) in the driver store. If no third-party drivers are published, it will return the error "No published driver packages were found on the system."
  • pnputil.exe -d INF_name Deletes the specified package from the driver store, provided that no currently installed device is using the driver. This command also purges the index of any reference to the driver package being removed. Note that this INF_name is the "published" name of a third-party package in the driver store, as returned by the pnputil -e command. This command requires you to run Pnputil.exe with administrator credentials.
  • pnputil.exe -f -d INF_name Forcibly deletes the specified driver package. (You can use this if necessary to remove a package associated with a device that is physically installed in the system or when using -d alone returns an error accessing the package. However, this is not recommended because doing this causes problems for the device[s] that are still left referencing the driver package that was forcibly removed.) Note that this INF_name is the "published" name of a third-party package in the driver store, as returned by the pnputil -e command. This command requires you to run Pnputil.exe with administrator credentials.

Sample output from enumerating staged drivers on a Windows 7 computer might look like this.

C:\Users\tallen>pnputil -e
Microsoft PnP Utility

Published name 		: oem0.inf
Driver package provider	: Microsoft
Class 			: Printers
Driver date and version	: 06/21/2006 6.1.7100.0
Signer name 		: Microsoft Windows
Published name 		: oem1.inf
Driver package provider	: NVIDIA
Class 			: Network adapters
Driver date and version	: 05/03/2007 65.7.4
Signer name 		: Microsoft Windows Hardware Compatibility Publisher

Note that when using pnputil -a to stage multiple drivers using a single command or script, the command or script can sometimes halt before finishing. This can occur if either of the following conditions is true:

  • The driver package is incomplete or damaged.
  • The driver paths in the INF span multiple media.

If this problem occurs, troubleshoot the issue by stepping through the command or script to identify the problem driver and replace it with an updated driver designed for Windows 7.

[Previous] [Contents] [Next]

In this tutorial:

  1. Managing Devices and Services
  2. Understanding Device Installation and Management
  3. Device Enhancements in Windows 7
  4. Display Enhancements in Windows 7
  5. Understanding Device Installation
  6. Driver Store and Driver Packaging
  7. Driver Staging vs Installation
  8. Driver Staging and Installation Process
  9. Detailed Installation Process
  10. Managing Driver Packages
  11. Using PnPutil.exe
  12. Using Dism.exe
  13. Driver Signing
  14. Driver Ranking
  15. Installing and Using Devices
  16. Enhancements to the Device Installation Experience in Windows 7
  17. Scenario 1: Driver found in Driver Store
  18. Scenario 2: Driver found on Windows Update
  19. Scenario 3: Driver in Driver Store, But Better Driver on Windows Update
  20. Scenario 5: No Driver Can Be Found for the device
  21. Scenario 6: Vendor -supplied media is available
  22. Scenario 7: Additional Device Software is Available For Download from vendor
  23. Configuring Device Installation Settings
  24. Using the Devices And Printers Folder
  25. Understanding Device Stage
  26. Understanding the Device Experience Architecture
  27. Device Containers
  28. Device display object
  29. Device Metadata System
  30. Managing Device Installation Using Group Policy
  31. Managing Device Installation Behavior
  32. Managing Driver Installation Behavior
  33. Blocking Installation of Removable Devices
  34. Managing Device Redirection Behavior
  35. Troubleshooting Device Installation
  36. Using Windows Error Reporting
  37. Using the SetupAPI Log File
  38. Using Driver INF Files
  39. Using Device Manager Error Codes
  40. Using Driver Verifier
  41. Repairing Driver Store Corruption
  42. Repairing Index File Corruption
  43. Understanding Power Management
  44. Power Management Enhancements in Windows 7
  45. New Power Policies in Windows 7
  46. Configuring Power Management Settings
  47. Configuring Power Management Settings Using the Power Options Utility in Control Panel
  48. Configuring Power Management Settings Using Group Policy
  49. Configuring Power Management Settings Using the Powercfg Utility
  50. Understanding Services
  51. Service Enhancements in Windows 7
  52. Managing Services
  53. Managing Services Using Task Manager
  54. Managing Services Using the Sc.exe Command