Jump to content

unattended Driver paths


Recommended Posts

If its unattended media, use the "OfflineServicing" pass to install drivers. I was unable to make auditSystem install drivers.

Mine is:

	<settings pass="offlineServicing">
<component name="Microsoft-Windows-PnpCustomizationsNonWinPE" processorArchitecture="x86" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<PathAndCredentials wcm:keyValue="1" wcm:action="add">

I also have the DRVS folder in <cdRom path>\sources\$oem$\$1\DRVS

Works for me when doing an unattended. I have never mounted a WIM to add drivers.

hasnt dis already been mentioned by me in one of my posts above :unsure:

Link to comment
Share on other sites

We have only begun researching Windows 7, but I thought I'd share what we have learned so far. This is for people who are trying to use Sysprep to create standard images (for Ghost or whatever), and would like to add 3rd party drivers.

Option #1

For those of you who had been using Windows XP Sysprep you probably used "OemPnPDriversPath". When you launched Sysprep it used that setting to append entries to the following registry key:


Each folder specified in "OemPnPDriversPath" (delimited with a ";") would be prepended with "%SystemDrive%\". This is why it was required that the folder be located on your C: drive. You were permitted to MANUALLY edit the registry key to search other locations , or use the manual method only and skip the Sysprep entry. We have tested the manual method with Windows 7 and it still works. We assume it was added for backward compatibility. What’s new, versus Windows XP, is you do not have to enter every single subfolder in the device path. Windows 7 will automatically look in all subfolders. Our DevicePath value has the following data:


When PnP enumerates for devices, it searches the DriverStore and all subfolders in the DevicePath for INF files with compatible PnP IDs. After PnP creates a list of potential drivers, it compares the driver ranking of all compatible IDs and selects the driver with the lowest rank. If the selected driver is not in the DriverStore, it is populated at this time.

Option #2

There is a tool included in Windows 7 called PnPUtil.exe that can pre-populate drivers into the DriverStore. The command line is quite simply:

“pnputil -a {path_to_inf}\{some_driver}.inf”

We noted about a 3 second time saving per driver when PnP installed devices using this method (test computer was a Core2 Duo).

This utility also allows you to remove unused drivers from the driver store, if they are no longer required or are being replaced with newer drivers.

Option #3

Windows 7 also includes a tool call PnPUnattend.exe. This tool can be used to force install drivers. We have seen Internet postings of people using this method to install all their drivers, but have not tested or seen any advantage of using it. Some claim that less functional generic drivers were ranking better than manufacturer supplied drivers, but one can assume it’s more likely caused by a poorly written driver.


- When using PnPUtil.exe, if the same version of the driver is already installed, it states the driver was successfully added even though it didn’t do anything.

- DriverStore is located in C:\Windows\System32\DriverStore

If PnP is initialled during the boot process and it does not find a compatible driver, the device shows up under Unknown Devices in Device Manager. It will remain an unknown device even if the driver has been added to the device path or the DriverStore, unless the unknown device is uninstalled from Device Manager or there is user intervention. By user intervention we mean either:

  1. Right-click, update driver, automatic search
  2. “Scan for hardware changes”.

Useful links:

MSDN article on How Setup Selects Drivers including driver ranking: http://msdn.microsoft.com/en-us/library/ms791096.aspx

Great article on unattended Vista installations (uses PnPUnattend): http://dtmjedi.com/InsideVistaSetup_DtmJedi.htm

Link to comment
Share on other sites

  • 2 months later...

I'd like to integrate drivers directly into the install.wim using imagex and perhaps other WAIK tools. I've downloaded these drivers from the windows update catalog and would like the driver installed in such a way that windows update will not request the driver be downloaded again.

I have read the tutorial for doing this in the firegierer unattended guide but not tested it because of the following statement:

If you want to inject new drivers to your install.wim you have to start with a "clean" install.wim, where no drivers where injected

before. Injecting drivers to an install.wim, where you were using this method before can cause problems!!!

Has anyone used such a method and is the statement above true? If so is anyone aware of another way i can achieve similar results?

I do not want to start from a fresh image each time i need to integrate a new or updated driver into the installation image.

Edited by SmokingRope
Link to comment
Share on other sites

That is some outdated Vista stuff, nowadays is very easy to integrate most drivers, and only slightly harder to remove them.

Can do it from the command line or just use DISM Tool™. They need to be extracted to .INF, .SYS and not .EXE or .ZIP.

Find DISM Tool™ here

How to Add Drivers to your Image.

1) Put all you drivers into any folder.

2) Click Mount WIM and then Add Drivers

3) Commit WIM changes

4) Dis-Mount WIM

If they are CAB or MSU files, instead use the add-package button and integrate them with any Windows Updates you want to add.

To download the current windows updates, check here, new list coming tomorrow or the next day.

Updates List

Edited by MrJinje
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Recently Browsing   0 members

    • No registered users viewing this page.

  • Create New...