<?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>
unattended Driver paths
#1
Posted 31 August 2009 - 01:56 PM
#2
Posted 31 August 2009 - 06:15 PM
#3
Posted 01 September 2009 - 12:35 AM
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
Posted 01 September 2009 - 02:32 PM
Noise, on Sep 1 2009, 03:35 AM, said:
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
Posted 01 September 2009 - 04:59 PM
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...
#6
Posted 04 September 2009 - 04:36 PM
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.
#7
Posted 12 October 2009 - 11:51 AM
<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.
#8
Posted 13 October 2009 - 06:27 AM
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" />
This post has been edited by tomatthe: 13 October 2009 - 06:44 AM
#9
Posted 13 October 2009 - 07:43 AM
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.
This post has been edited by tomatthe: 13 October 2009 - 07:59 AM
#10
Posted 13 October 2009 - 09:19 AM
tomatthe, on Oct 13 2009, 06:27 AM, said:
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
Posted 13 October 2009 - 07:06 PM
Eg,
<Path>C:\temp\</Path>
#12
Posted 14 October 2009 - 07:05 AM
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.
This post has been edited by tomatthe: 15 October 2009 - 07:06 AM
#13
Posted 19 October 2009 - 06:54 AM
tomatthe, on Oct 14 2009, 01:05 PM, said:
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
Posted 19 October 2009 - 07:01 AM
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
Posted 19 October 2009 - 05:23 PM
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
Posted 20 October 2009 - 12:13 AM
Yoko, on Oct 19 2009, 05:23 PM, said:
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
#17
Posted 23 October 2009 - 04:47 PM
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
Posted 10 January 2010 - 06:25 PM
I have read the tutorial for doing this in the firegierer unattended guide but not tested it because of the following statement:
Quote
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.
This post has been edited by SmokingRope: 10 January 2010 - 06:27 PM
#19
Posted 11 January 2010 - 02:26 AM
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
Quote
1) Put all you drivers into any folder.
2) Click Mount WIM and then Add Drivers
3) Commit WIM changes
4) Dis-Mount WIM
To download the current windows updates, check here, new list coming tomorrow or the next day.
Updates List
This post has been edited by MrJinje: 11 January 2010 - 02:31 AM
#20
Posted 11 January 2010 - 03:18 AM
This post has been edited by SmokingRope: 11 January 2010 - 03:18 AM
- ← Add a welcome video on OOBE like Mac Os ?
- Unattended Windows 7/Server 2008R2
- Unsigned drivers from software in windows installation? →



Help
Back to top









