lawson23 Posted September 18, 2012 Posted September 18, 2012 I'm trying to convert my xp soi deployment over to windows 7 but I do not understand the xml at all and have a few questions.1. Is there a place that explains this pretty clearly so I can try to gain some understanding myself? I would like to learn it so I don't have to ask all the time. I know the xml is much more powerful than what was previously available. Almost two many options to understand.2. Is there a place where you can run a command say a batch file to do processing like in XP during the setup phase (called in commandlines.txt) The main reason I'm looking for this is because it customized the default user in XP. So all users got the what I set up during this phase. So I would inject HKCU keys and things like Windows Background or shortcuts during this phase that I wanted every user to have on first boot. Then after this they can delete the stuff not needed.3. What is the proper method to inject folders and files (used to use the OEM section) into the file system to be run in step 2 and after?4. Where can I control installed components like I did with the sif? Like do not install games...
WinOutreach4 Posted September 18, 2012 Posted September 18, 2012 Lawson23,1. To start, you should use the Windows System Image Manager to create your answer file (unattend.xml). WSIM has a validate function that will help you get the file set up properly. WSIM is a part of the Windows Automated Installation Kit (WAIK). A short TechNet video that shows how to use WSIM can be found here. More detailed TechNet articles for using WSIM can be found here. The Unattended Installation Settings Reference is where you will find descriptions and instructions for all the components that can be used in the answer file.2. The Synchronouscommand and RunAsynchronous commands will let you run batch files or command line commands in the answer file.3. You can either use the Deployment Image Servicing and Management tool (DISM) to modify the Wim image offline, or use the commands in #2 to call network locations, copy files, and more.4. You can either use DISM to uninstall packages from the default image on the DVD or you can create a customized image that does not have the items that you do not want. You can customize the image in Audit Mode, then use the 'CopyProfile' component in the answer file to make the administrator profile (Audit mode uses the administrator profile) the default user profile.I would also recommend that you take a look at the Microsoft Deployment Toolkit (MDT). MDT is a common console for Microsoft's free deployment tools, including all the above mentioned tools and can help make your deployments fast and easy. This short video will give you a quick overview of MDT. There is a lot of flexibility gained by using MDT, such as managing drivers for different hardware, installing software after Windows is installed, and controlling a number of settings that would normally be in the answer file. There are many more videos and articles that will help you with your deployments on the Deliver and Deploy Windows 7 page of the Springboard Series on TechNet.Hope this helps,DavidWindows Outreach Team - IT Pro
lawson23 Posted January 11, 2013 Author Posted January 11, 2013 Ok I have searched but not finding the answer I need regarding driver installation. This is not a driver for PE environment it is a driver for the Windows deployed OS.I'm trying to replicate what I did in the SIF file for drivers:OemPnpDriversPath ="driverpath"this puts this information into this registry entry on the pc:[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion]"DevicePath"=Now for this process I was told to use the auditSystem mode to add these drivers. Here is my xml: <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="998fe066" wcm:action="add"> <Path>C:\DRV\Systems\e6410\NIC</Path> </PathAndCredentials><!-- <PathAndCredentials wcm:keyValue="6e0a4d58" wcm:action="add"> <Path>C:\temp\Downloads\e6410x64</Path> </PathAndCredentials> <PathAndCredentials wcm:keyValue="ec6923c4" wcm:action="add"> <Path>C:\temp\Downloads\e6410x64\Nic\R290983\Windows7-x64</Path> </PathAndCredentials>--> </DriverPaths> </component> </settings>This is not putting anything in this reg key and that is ok if Win 7 no longer does this but it is also not installing the driver in the location C:\DRV\Systems\e6410\NIC.[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion]"DevicePath"=
WinOutreach4 Posted January 11, 2013 Posted January 11, 2013 (edited) The AuditSystem and AuditUserpasses only work when you are booting into AuditMode . TechNet has this article that explains How Configuration Passes Work. It also explains that non-boot-critical drivers can be installed in the OfflineServicing pass as well, and this is explained further in the Understanding Device Drivers and Deployment article and in the Add and Remove Drivers Offline article. This latter article also has an XML example that pulls the drivers from the network, so there is no need to inflate the size of your image with drivers for all of the possible hardware you might use.I would also like to re-iterate my suggestion above to look at MDT. MDT can manage device drivers for all of your hardware and will install the appropriate drivers upon deployment for you without needing to put all drivers into the image. Also, if a new version of a driver is released, you simply make the change in MDT, rather than loading your image, changing the driver and re-capturing the image. Hope this Helps,David Windows Outreach Team – IT Pro Edited January 11, 2013 by WinOutreach4
maxXPsoft Posted January 11, 2013 Posted January 11, 2013 (edited) Ok I have searched but not finding the answer I need regarding driver installation. This is not a driver for PE environment it is a driver for the Windows deployed OS.This is easiest method for Drivers if you don't want to inject them.and yes $OEM$ are still useable even on Win 8 Edited January 11, 2013 by maxXPsoft
lawson23 Posted January 14, 2013 Author Posted January 14, 2013 (edited) Ok I have searched but not finding the answer I need regarding driver installation. This is not a driver for PE environment it is a driver for the Windows deployed OS.This is easiest method for Drivers if you don't want to inject them.and yes $OEM$ are still useable even on Win 8MaxXPsoftThis is exactly what I want (trying) to do but I have some questions regarding this.Can my path be something else? The way your article reads I'm a bit confused.At the start of the article you do exactly what I want to do by $OEM$\$1\Drivers (I use: $OEM$\$1\Drv)but below you reference $WinPEDriver$What is that path? From your image it is something outside of the OEM folder? I guess this is where I'm having some confusion. Edited January 14, 2013 by lawson23
maxXPsoft Posted January 14, 2013 Posted January 14, 2013 $WinPEDriver$Windows scans all drives for this folder and uses that if found.It will do this in first pass and is perfect if you also had a boot criticalIt should be just on the root of any drive like a USB jump drive or the install dvd. D:\$WinPEDriver$. You can see it can have long path names like my picture.I usually inject mine into my image
lawson23 Posted January 14, 2013 Author Posted January 14, 2013 So would this work:put driver files in oem folder like I did in XP: $OEM$\$1\Drvthen use this in my unattended.xml <component name="Microsoft-Windows-PnpCustomizationsWinPE" 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:action="add" wcm:keyValue="1"> <Path>c:\DRV</Path> </PathAndCredentials> </DriverPaths> </component>The other question I have with XP I had to put in every folder that contained a driver. What I have read so far for 7 I only have to put a root folder in the xml. Is this true?
lawson23 Posted January 15, 2013 Author Posted January 15, 2013 <component name="Microsoft-Windows-PnpCustomizationsWinPE" 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:action="add" wcm:keyValue="1"> <Path>c:\DRV</Path> </PathAndCredentials> </DriverPaths> </component>This did not work so now trying <component name="Microsoft-Windows-PnpCustomizationsWinPE" 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:action="add" wcm:keyValue="1"> <Path>c:\DRV\systems\e6410\nic</Path> </PathAndCredentials> </DriverPaths> </component>
maxXPsoft Posted January 15, 2013 Posted January 15, 2013 (edited) Win 7 recurses the driver folder if it finds it so need for any other pathsThe way Win 7 installs the C drive you refer to is not renamed to that till after a reboot. Depending on how many drives you have it could be any letter. People have used configsetroot which tells windows to look on root where the xml is<Path>$WinPEDriver$</Path> by far is easiest if not injecting with folder created like this dvd\$WinPEDriver$ Edited January 15, 2013 by maxXPsoft
lawson23 Posted January 15, 2013 Author Posted January 15, 2013 (edited) Win 7 recurses the driver folder if it finds it so need for any other pathsThe way Win 7 installs the C drive you refer to is not renamed to that till after a reboot. Depending on how many drives you have it could be any letter. People have used configsetroot which tells windows to look on root where the xml is<Path>$WinPEDriver$</Path> by far is easiest if not injecting with folder created like this dvd\$WinPEDriver$Ok but I'm having a hard time understanding <Path>$WinPEDriver$</Path> will this look at $OEM$\$1\Drv or c:\DRV ??PS sorry for being such a pain. Edited January 15, 2013 by lawson23
maxXPsoft Posted January 15, 2013 Posted January 15, 2013 Create the $WinPEDriver$ on root of DVD like this picture and add the <DriverPaths> to your xml and drop all driver folders within the $WinPEDriver$ folder. This can also be on root of a usb drive where I place the Autounattend.xml. I place xml on a separate usb jump drive so if it gets error I can easily fix in another PC
lawson23 Posted January 15, 2013 Author Posted January 15, 2013 <settings pass="windowsPE"> <component name="Microsoft-Windows-PnpCustomizationsWinPE" processorArchitecture="@ProcessArchitecture" 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="201"> <Path>$WinPEDriver$</Path> </PathAndCredentials> </DriverPaths> </component>This did not appear to work so I'm still trying to understand your article where you state to place the drivers in $oem$ like I do with XP.
maxXPsoft Posted January 16, 2013 Posted January 16, 2013 (edited) NOPE it probably won'tprocessorArchitecture="@ProcessArchitecture"If your 64 bit thenprocessorArchitecture="amd64"orprocessorArchitecture="x86"also why change things, use what is given<PathAndCredentials wcm:action="add" wcm:keyValue="1"1 mistake in an xml and thats it, it will take you down PERIODOnce again the correct way and all you change is processorArchitecture <component name="Microsoft-Windows-PnpCustomizationsWinPE" 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:action="add" wcm:keyValue="1"> <Path>$WinPEDriver$</Path> </PathAndCredentials> </DriverPaths> </component> Edited January 16, 2013 by maxXPsoft
lawson23 Posted January 16, 2013 Author Posted January 16, 2013 processorArchitecture="@ProcessArchitecture"Actually that is filled in based on the system type by our deployment solution but since we will only be deploying x64 systems I can pull that out and put in amd64 to set it static.Above is what is in file before deployment.This is the xml that is seen after deployment is complete. <?xml version='1.0' encoding='utf-8'?><unattend xmlns="urn:schemas-microsoft-com:unattend"> <settings pass="specialize" wasPassProcessed="true"> <component name="Microsoft-Windows-Shell-Setup" 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"> <ProductKey>*SENSITIVE*DATA*DELETED*</ProductKey> <ComputerName>PC1098</ComputerName> <Display><ColorDepth>32</ColorDepth><HorizontalResolution>1280</HorizontalResolution><RefreshRate>75</RefreshRate><VerticalResolution>1024</VerticalResolution></Display> </component> <component name="Microsoft-Windows-UnattendedJoin" 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"><Identification><JoinWorkgroup>workgroup</JoinWorkgroup></Identification> </component> <component name="Microsoft-Windows-DNS-Client" 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"><Interfaces><Interface wcm:action="add"><Identifier>5C-26-0A-48-66-58</Identifier><DNSDomain>workgroup</DNSDomain><DNSServerSearchOrder><IpAddress wcm:action="add" wcm:keyValue="1">10.0.xxx.xxx</IpAddress><IpAddress wcm:action="add" wcm:keyValue="2">10.0.xxx.xxx</IpAddress></DNSServerSearchOrder></Interface></Interfaces> </component> <component name="Microsoft-Windows-TCPIP" 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"><Interfaces><Interface wcm:action="add"><Identifier>5C-26-0A-48-66-58</Identifier><Ipv4Settings><DhcpEnabled>true</DhcpEnabled></Ipv4Settings><Ipv6Settings><DhcpEnabled>true</DhcpEnabled></Ipv6Settings></Interface></Interfaces> </component> </settings> <settings pass="windowsPE" wasPassProcessed="true"> <component name="Microsoft-Windows-PnpCustomizationsWinPE" 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:action="add" wcm:keyValue="201"> <Path>$WinPEDriver$</Path> </PathAndCredentials> </DriverPaths> </component> <component name="Microsoft-Windows-International-Core-WinPE" 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"> <SetupUILanguage><UILanguage>en-US</UILanguage></SetupUILanguage><InputLocale>0409:00000409</InputLocale><SystemLocale>en-US</SystemLocale><UILanguage>en-US</UILanguage><UserLocale>en-US</UserLocale> </component> <component name="Microsoft-Windows-Setup" 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"> <ImageInstall> <OSImage> <InstallTo> <DiskID>0</DiskID> <PartitionID>1</PartitionID> </InstallTo> </OSImage> </ImageInstall> <UserData> <AcceptEula>true</AcceptEula> </UserData> </component> </settings> <settings pass="oobeSystem" wasPassProcessed="true"> <component name="Microsoft-Windows-Shell-Setup" 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"> <OOBE> <HideEULAPage>true</HideEULAPage> <SkipUserOOBE>true</SkipUserOOBE> <NetworkLocation>Work</NetworkLocation> <ProtectYourPC>1</ProtectYourPC> </OOBE> <RegisteredOrganization>Altiris</RegisteredOrganization> <RegisteredOwner>Altiris User</RegisteredOwner> <TimeZone>Eastern Standard Time</TimeZone> <UserAccounts> <AdministratorPassword>*SENSITIVE*DATA*DELETED*</AdministratorPassword> <LocalAccounts> <LocalAccount wcm:action="add"> <Password>*SENSITIVE*DATA*DELETED*</Password> <Name>Altiris</Name> <Description>Altiris User</Description> <DisplayName>Altiris</DisplayName> <Group>Administrators</Group> </LocalAccount> </LocalAccounts> </UserAccounts> <Display><ColorDepth>32</ColorDepth><HorizontalResolution>1280</HorizontalResolution><RefreshRate>75</RefreshRate><VerticalResolution>1024</VerticalResolution></Display> </component> </settings> <settings pass="offlineServicing" wasPassProcessed="true"> <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="1" wcm:action="add"> <Path>X:\DRIVERS</Path> </PathAndCredentials> </DriverPaths> </component> </settings><!-- <settings pass="offlineServicing"> <component name="Microsoft-Windows-LUA-Settings" 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"> <EnableLUA>false</EnableLUA> </component> <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:action="add" wcm:keyValue="200"> <Path>%systemdrive%\DRV\Systems\e6410\NIC</Path> </PathAndCredentials> </DriverPaths> </component> </settings> <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="998fe066" wcm:action="add"> <Path>C:\DRV\Systems\e6410\NIC</Path> </PathAndCredentials> <PathAndCredentials wcm:keyValue="6e0a4d58" wcm:action="add"> <Path>C:\temp\Downloads\e6410x64</Path> </PathAndCredentials> <PathAndCredentials wcm:keyValue="ec6923c4" wcm:action="add"> <Path>C:\temp\Downloads\e6410x64\Nic\R290983\Windows7-x64</Path> </PathAndCredentials> </DriverPaths> </component> </settings> --></unattend>
Recommended Posts
Please sign in to comment
You will be able to leave a comment after signing in
Sign In Now