Jump to content

unattended.xml help!


Recommended Posts

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...

Link to comment
Share on other sites


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,

David

Windows Outreach Team - IT Pro

Link to comment
Share on other sites

  • 3 months later...

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"=

Link to comment
Share on other sites

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 by WinOutreach4
Link to comment
Share on other sites

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 by maxXPsoft
Link to comment
Share on other sites

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

MaxXPsoft

This 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 by lawson23
Link to comment
Share on other sites

$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 critical

It 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

Link to comment
Share on other sites

So would this work:

put driver files in oem folder like I did in XP: $OEM$\$1\Drv

then 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?

Link to comment
Share on other sites

       <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>

Link to comment
Share on other sites

Win 7 recurses the driver folder if it finds it so need for any other paths

The 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 by maxXPsoft
Link to comment
Share on other sites

Win 7 recurses the driver folder if it finds it so need for any other paths

The 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 by lawson23
Link to comment
Share on other sites

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

post-9484-0-67954100-1358274201_thumb.pn

Link to comment
Share on other sites

    <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.

Link to comment
Share on other sites

NOPE it probably won't

processorArchitecture="@ProcessArchitecture"

If your 64 bit then

processorArchitecture="amd64"

or

processorArchitecture="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 PERIOD

Once 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 by maxXPsoft
Link to comment
Share on other sites

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>

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...