Jump to content

Welcome to MSFN Forum
Register now to gain access to all of our features. Once registered and logged in, you will be able to create topics, post replies to existing threads, give reputation to your fellow members, get your own private messenger, post status updates, manage your profile and so much more. This message will be removed once you have signed in.
Login to Account Create an Account



Photo

unattended Driver paths


  • Please log in to reply
19 replies to this topic

#1
ahay

ahay
  • Member
  • 5 posts
  • Joined 19-January 09
I am trying to get Windows 7 to search the "drivers" folder that I have placed in the $OEM$ folder that gets copied to "c:\drivers" during the deployment. All the drivers get copied to the HD but I can't figure out have to tell the unattended file to search "c:\drivers\T400\modem & c:\drivers\t400\chip". Anyone else tried doing this before?


<?xml version="1.0" encoding="utf-8" ?> 
- <unattend xmlns="urn:schemas-microsoft-com:unattend">
- <settings pass="specialize">
- <component name="Microsoft-Windows-International-Core" 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">
  <InputLocale>en-CA</InputLocale> 
  <SystemLocale>en-CA</SystemLocale> 
  <UILanguage>en-CA</UILanguage> 
  <UserLocale>en-CA</UserLocale> 
  </component>
- <component name="Microsoft-Windows-UnattendedJoin" 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">
- <Identification>
- <Credentials>
  <Domain>XXXX</Domain> 
  <Password>password</Password> 
  <Username>XXX</Username> 
  </Credentials>
  <JoinDomain>XXXX</JoinDomain> 
  <UnsecureJoin>false</UnsecureJoin> 
  </Identification>
  </component>
- <component name="Microsoft-Windows-Shell-Setup" 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">
- <Display>
  <ColorDepth>32</ColorDepth> 
  <HorizontalResolution>1024</HorizontalResolution> 
  <RefreshRate>60</RefreshRate> 
  <VerticalResolution>768</VerticalResolution> 
  </Display>
  <ComputerName>%MACHINENAME%</ComputerName> 
  <BluetoothTaskbarIconEnabled>false</BluetoothTaskbarIconEnabled> 
  <RegisteredOrganization>XXX</RegisteredOrganization> 
  <RegisteredOwner>XXXXX</RegisteredOwner> 
  <TimeZone>Atlantic Standard Time</TimeZone> 
  <ShowWindowsLive>false</ShowWindowsLive> 
  </component>
- <component name="Microsoft-Windows-TerminalServices-LocalSessionManager" 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">
  <fDenyTSConnections>false</fDenyTSConnections> 
  </component>
  </settings>
- <settings pass="oobeSystem">
- <component name="Microsoft-Windows-Shell-Setup" processorArchitecture="x86" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State">
- <OOBE>
  <HideEULAPage>true</HideEULAPage> 
  <NetworkLocation>Work</NetworkLocation> 
  <ProtectYourPC>3</ProtectYourPC> 
  <HideWirelessSetupInOOBE>true</HideWirelessSetupInOOBE> 
  </OOBE>
  <RegisteredOrganization>XXXXX</RegisteredOrganization> 
  <RegisteredOwner>XXXXX</RegisteredOwner> 
  <ShowWindowsLive>false</ShowWindowsLive> 
- <UserAccounts>
- <LocalAccounts>
- <LocalAccount wcm:action="add">
  <DisplayName /> 
  <Group>Administrators</Group> 
  <Name>Administrator</Name> 
- <Password>
  <Value>QQBwAGUAYwBhADQAbgBvAFcAUABhAHMAcwB3AG8AcgBkAA==</Value> 
  <PlainText>false</PlainText> 
  </Password>
  </LocalAccount>
  </LocalAccounts>
  </UserAccounts>
- <AutoLogon>
  <Enabled>true</Enabled> 
  <Username>Administrator</Username> 
- <Password>
  <Value>QQBwAGUAYwBhADQAbgBvAFcAUABhAHMAcwB3AG8AcgBkAA==</Value> 
  <PlainText>false</PlainText> 
  </Password>
  </AutoLogon>
  </component>
- <component name="Microsoft-Windows-International-Core" 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">
  <InputLocale>en-CA</InputLocale> 
  <SystemLocale>en-CA</SystemLocale> 
  <UILanguage>en-CA</UILanguage> 
  <UserLocale>en-CA</UserLocale> 
  </component>
  </settings>
- <settings pass="auditSystem">
- <component name="Microsoft-Windows-Shell-Setup" 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">
- <AutoLogon>
  <Enabled>true</Enabled> 
  <Username>Administrator</Username> 
- <Password>
  <Value>QQBwAGUAYwBhADQAbgBvAFcAUABhAHMAcwB3AG8AcgBkAA==</Value> 
  <PlainText>false</PlainText> 
  </Password>
  </AutoLogon>
  <TimeZone>GTB Standard Time</TimeZone> 
  </component>
  </settings>
- <settings pass="auditUser">
- <component name="Microsoft-Windows-Deployment" 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">
- <RunSynchronous>
- <RunSynchronousCommand wcm:action="add">
  <Order>1</Order> 
  <Path>\\XXX-mon-hq1\Tech\Image Creation Files\WDS\net\Workstations\dotNetFx35setup.exe</Path> 
  <WillReboot>Always</WillReboot> 
  </RunSynchronousCommand>
- <RunSynchronousCommand wcm:action="add">
  <Order>2</Order> 
  <Path>\\XXX-mon-hq1\Tech\Image Creation Files\WDS\Microsoft Office 2007 STD\setup.exe</Path> 
  </RunSynchronousCommand>
- <RunSynchronousCommand wcm:action="add">
  <Order>3</Order> 
  <Path>\\XXX-mon-hq1\Tech\Image Creation Files\WDS\Microsoft Office 2007 Quick Launch Icons\Microsoft Office 2007 Quick Launch Icons.msi</Path> 
  </RunSynchronousCommand>
- <RunSynchronousCommand wcm:action="add">
  <Order>4</Order> 
  <Path>\\XXX-mon-hq1\Tech\Image Creation Files\WDS\Microsoft Office 2007 PDF and XPS Add-in\\\XXX-mon-hq1\Tech\Image Creation Files\WDS\Microsoft Office 2007 Quick Launch Icons\Microsoft Office 2007 Quick Launch Icons.msi</Path> 
  </RunSynchronousCommand>
- <RunSynchronousCommand wcm:action="add">
  <Order>5</Order> 
  <Path>\\XXX-mon-hq1\Tech\Image Creation Files\WDS\PrintScreen32\screenprintwithRegNo.msi</Path> 
- <Credentials>
  <Domain>XXXX</Domain> 
  <Password>password</Password> 
  <Username>XXX</Username> 
  </Credentials>
  </RunSynchronousCommand>
- <RunSynchronousCommand wcm:action="add">
  <Order>6</Order> 
  <Path>\\XXX-mon-hq1\Tech\Image Creation Files\WDS\QuickViewPlus6\QuickViewPlus6.MSI</Path> 
- <Credentials>
  <Domain>XXXX</Domain> 
  <Password>password</Password> 
  <Username>ris</Username> 
  </Credentials>
  </RunSynchronousCommand>
- <RunSynchronousCommand wcm:action="add">
  <Order>7</Order> 
  <Path>dfg</Path> 
  </RunSynchronousCommand>
  </RunSynchronous>
  </component>
  </settings>
  <cpi:offlineImage cpi:source="wim:e:/iso/windows%207%20wim/enterprise/sources/install.wim#Windows 7 ENTERPRISE" xmlns:cpi="urn:schemas-microsoft-com:cpi" /> 
  </unattend>



How to remove advertisement from MSFN

#2
razormoon

razormoon

    Little boots...!

  • Member
  • PipPip
  • 242 posts
  • Joined 17-February 06
My apologies ahay, I don't get what you mean by search? What exactly are you hoping xml to do? Are you hoping to integrate drivers...?
Zero in 2012

#3
Noise

Noise

    Windows Guru

  • Member
  • PipPipPip
  • 419 posts
  • Joined 27-February 04
Something like the OemPNPDriversPath that has been in the unattended.txt since NT4.

I haven't had to research this yet ahay. No Win7/Vista deployments yet on my end. I'm still, to this day, doing only 2003/XP - it's what the clients want, and I cant blame them.

#4
ahay

ahay
  • Member
  • 5 posts
  • Joined 19-January 09

Something like the OemPNPDriversPath that has been in the unattended.txt since NT4.

I haven't had to research this yet ahay. No Win7/Vista deployments yet on my end. I'm still, to this day, doing only 2003/XP - it's what the clients want, and I cant blame them.



exactly.... I am looking for "OemPNPDriversPath" version for windows 7. I am not happy to be moving towards windows 7 either but I am told I have to be ahead of the game on this one.

#5
razormoon

razormoon

    Little boots...!

  • Member
  • PipPip
  • 242 posts
  • Joined 17-February 06
Understood.

I have not tried driver paths since I have been injecting my drivers into WIM itself. I'm betting that someone will have that answer for you though...
Zero in 2012

#6
ajua

ajua

    Custom Installer Maker

  • Member
  • PipPipPipPipPipPip
  • 1,258 posts
  • Joined 16-April 05
You can use the documentation of WAIK which covers almost everything you need to know.
I use this code to get Windows to look for drivers:
<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">
			<DriverPaths>
				<PathAndCredentials wcm:action="add" wcm:keyValue="1">
					<Path>E:\Drivers</Path>
				</PathAndCredentials>
				<PathAndCredentials wcm:action="add" wcm:keyValue="2">
					<Path>F:\Drivers</Path>
				</PathAndCredentials>
			</DriverPaths>
		</component>
	</settings>
You can have meny paths there, but I don't know what the limit is. Notice that every entry has an unique "keyvalue".
I don't like to integrate drivers because I install Windows on many computers and trying to catch up with every driver and injecting it consumes a lot of time for me.

Instead, I just get the driver I'm about to install, copy them to that path and modify the letter accordingly.

Custom Installers for your unattended needs.


#7
drsood

drsood
  • Member
  • 8 posts
  • Joined 27-September 09
Working solution....

<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"><DriverPaths><PathAndCredentials wcm:action="add" wcm:keyValue="1">  <Path>\drivers</Path>   </PathAndCredentials>  </DriverPaths>  </component>


This 'driver' folder is present in sources\$OEM$\$1
installer automatically pics up the folder form dvd/ pen drive etc. :thumbup

#8
tomatthe

tomatthe

    Newbie

  • Member
  • 27 posts
  • Joined 22-September 04
Need a bit of help along these same lines.

In WAIK when you add the driver path in it wants to browse for the folder you're trying to add, I assume this doesn't actually matter to much and you can point it to whatever then just change it? Basically I'm using a different machine to work in the xml file and it doesn't have the drivers on it, so I'm manually setting the driver folder to C:\temp in WAIK. On the machine that I'm actually running sysprep with the unattend.xml file on the C:\temp folder exist with the drivers in it. I run sysprep then let the machine reboot and it does not seem to be pulling these drivers at all. Does the .inf file itself have to be right in c:\temp ? Mine are setup kind of like C:\temp\Video\stuff here c:\temp\UPEK\stuff here etc, I was assuming it would hunt through all the sub folders, but it did not appear to do that. The devices can be manually installed by pointing them to this folder to look for a driver from device manager so I know the drivers are good, just can't get the machine to use them coming out of sysprep.

Tks for any help. Just noticed ajua used the <settings pass="offlineServicing"> rather then "auditsystem" retesting.

 
    <settings pass="auditSystem">
<component name="Microsoft-Windows-PnpCustomizationsNonWinPE" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.micro...fig/2002/State" xmlns:xsi="http://www.w3.org/20...hema-instance">
<DriverPaths>
<PathAndCredentials wcm:keyValue="Driver Path" wcm:action="add">
<Path>C:\temp</Path>
</PathAndCredentials>
</DriverPaths>
</component>
</settings>
<cpi:offlineImage cpi:source="wim:c:/temp/install.wim#Windows 7 ENTERPRISE" xmlns:cpi="urn:schemas-microsoft-com:cpi" />

Edited by tomatthe, 13 October 2009 - 06:44 AM.


#9
tomatthe

tomatthe

    Newbie

  • Member
  • 27 posts
  • Joined 22-September 04
Still no luck using the audit pass. Basically what I'm trying to do, is build an image from a particular machine, and use this image on several different ones. However, I don't know the exact other machines so I need to be able to add drivers whenever vs adding them to a .wim file in which it seems like i could just dump whatever into the C:\temp folder that I was specifying in the unattend.xml file and it would load drivers from there, but for some reason it is not using the stuff in that folder when it comes out of sysprep.

After reading about this a bit more the sysprep command i was running is "sysprep.exe /oobe /generalize /shutdown /unattend:Win_7.xml" in which case I don't think it would pay any attention to something in the audit part of the xml file since it is not entering that mode. This would explain why it isn't picking up those drivers I think.

So basically asking for ideas here, want to build an image on one machine, then sysprep this one, capture a ghost image of it and be able to dump it on whatever machine. When it boots I need it to check a folder for drivers and fix anything that was missing, then boot into windows. I have all unattend options filled out in the xml file so it does boot into windows, it just isn't handling the drivers part which I don't really see any options on how to do that.

Edited by tomatthe, 13 October 2009 - 07:59 AM.


#10
drsood

drsood
  • Member
  • 8 posts
  • Joined 27-September 09

Need a bit of help along these same lines.

In WAIK when you add the driver path in it wants to browse for the folder you're trying to add, I assume this doesn't actually matter to much and you can point it to whatever then just change it? Basically I'm using a different machine to work in the xml file and it doesn't have the drivers on it, so I'm manually setting the driver folder to C:\temp in WAIK. On the machine that I'm actually running sysprep with the unattend.xml file on the C:\temp folder exist with the drivers in it. I run sysprep then let the machine reboot and it does not seem to be pulling these drivers at all. Does the .inf file itself have to be right in c:\temp ? Mine are setup kind of like C:\temp\Video\stuff here c:\temp\UPEK\stuff here etc, I was assuming it would hunt through all the sub folders, but it did not appear to do that. The devices can be manually installed by pointing them to this folder to look for a driver from device manager so I know the drivers are good, just can't get the machine to use them coming out of sysprep.

Tks for any help. Just noticed ajua used the <settings pass="offlineServicing"> rather then "auditsystem" retesting.

<settings pass="auditSystem">        <component name="Microsoft-Windows-PnpCustomizationsNonWinPE" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">            <DriverPaths>                <PathAndCredentials wcm:keyValue="Driver Path" wcm:action="add">                    <Path>C:\temp</Path>                </PathAndCredentials>            </DriverPaths>        </component>    </settings>    <cpi:offlineImage cpi:source="wim:c:/temp/install.wim#Windows 7 ENTERPRISE" xmlns:cpi="urn:schemas-microsoft-com:cpi" />




i am not sure whether this code will work or not...i hve not tried myself...
but the code u have specified is
<PathAndCredentials wcm:keyValue="Driver Path" wcm:action="add">


instead try this
<PathAndCredentials wcm:action="add" wcm:keyValue="1">


#11
Yoko

Yoko
  • Member
  • 9 posts
  • Joined 23-March 05
I remember reading somewhere that you need to make the drivers folder have the trailing backslash in the XML.

Eg,

<Path>C:\temp\</Path>

#12
tomatthe

tomatthe

    Newbie

  • Member
  • 27 posts
  • Joined 22-September 04
I've been working on this a bit more, it seems like adding drivers to the wim files is really what most are doing. I'm not terribly pleased with that option and would much prefer to be able to dump drivers into a network share and when machines boot up out of sysprep they check the folder and install anything it needs, rather then having to mount, install, unmount a wim file everytime i want to change a driver.

Bit more looking and that audit path is working properly now. From what I can tell you need to run sysprep /audit /generlize /shutdown /unattend:unattend.xml then capture the image at that point.

When you apply the image to a new machine it will boot into audit mode using the folder path you specified in the xml file, then you need to have a synrun command that will tell it to sysprep /oobe /reboot and it will reboot after installing all the drivers you had in the path.

Closing in on a done project with this, right now I'm hunting for a way to tell win to just accept drivers that are not signed, as a lot of the ones I'm having to use are Vista drivers which it is prompting to install everyone. I think I read a post on here about that somewhere, just gotta hunt it down.

Edited by tomatthe, 15 October 2009 - 07:06 AM.


#13
1to1

1to1

    Junior

  • Member
  • Pip
  • 76 posts
  • Joined 22-February 05

I've been working on this a bit more, it seems like adding drivers to the wim files is really what most are doing. I'm not terribly pleased with that option and would much prefer to be able to dump drivers into a network share and when machines boot up out of sysprep they check the folder and install anything it needs, rather then having to mount, install, unmount a wim file everytime i want to change a driver.

Bit more looking and that audit path is working properly now. From what I can tell you need to run sysprep /audit /generlize /shutdown /unattend:unattend.xml then capture the image at that point.

When you apply the image to a new machine it will boot into audit mode using the folder path you specified in the xml file, then you need to have a synrun command that will tell it to sysprep /oobe /reboot and it will reboot after installing all the drivers you had in the path.

Closing in on a done project with this, right now I'm hunting for a way to tell win to just accept drivers that are not signed, as a lot of the ones I'm having to use are Vista drivers which it is prompting to install everyone. I think I read a post on here about that somewhere, just gotta hunt it down.



Hi,

any success with adding drvers to \$OEM$\$1, I tried this way but no success for me windows won't see them.


best regards

#14
tomatthe

tomatthe

    Newbie

  • Member
  • 27 posts
  • Joined 22-September 04
From what I can tell there are basically two ways to add drivers. Directly to a .wim file, or have machines boot into audit mode. Using audit mode you can just specify a path and it will look for them in this folder. I was never able to determine a way to have it auto install unsigned drivers when using the audit path method so I ended up adding all of mine to the .wim file.

Still having issues with some drivers though, I started another post this morning about how to extract drivers from an .exe file that I just can't seem to figure out.

#15
Yoko

Yoko
  • Member
  • 9 posts
  • Joined 23-March 05
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">
			<DriverPaths>
				<PathAndCredentials wcm:keyValue="1" wcm:action="add">
					<Path>\DRVS</Path>
				</PathAndCredentials>
			</DriverPaths>
		</component>
	</settings>

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.

#16
drsood

drsood
  • Member
  • 8 posts
  • Joined 27-September 09

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">
			<DriverPaths>
				<PathAndCredentials wcm:keyValue="1" wcm:action="add">
					<Path>\DRVS</Path>
				</PathAndCredentials>
			</DriverPaths>
		</component>
	</settings>

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:

#17
EzDee36

EzDee36
  • Member
  • 1 posts
  • Joined 22-October 09
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:
“HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\DevicePath”

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:
“%SystemRoot%\inf;C:\Drivers”

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.

Notes:
- 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:
  • Right-click, update driver, automatic search
  • “Scan for hardware changes”.

Useful links:
MSDN article on How Setup Selects Drivers including driver ranking: http://msdn.microsof...y/ms791096.aspx
Great article on unattended Vista installations (uses PnPUnattend): http://dtmjedi.com/I...tup_DtmJedi.htm

#18
SmokingRope

SmokingRope

    Newbie

  • Member
  • 20 posts
  • Joined 02-July 05
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, 10 January 2010 - 06:27 PM.


#19
MrJinje

MrJinje

    Tool™ Developer

  • Developer
  • 1,031 posts
  • Joined 14-October 09
  • OS:Server 2012R2
  • Country: Country Flag
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, 11 January 2010 - 02:31 AM.


#20
SmokingRope

SmokingRope

    Newbie

  • Member
  • 20 posts
  • Joined 02-July 05
Wow, DISM is very slick. I wish i had known about it a couple months ago when i made my first unattend. :lol:

Edited by SmokingRope, 11 January 2010 - 03:18 AM.





0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users