Discussion:
WDS Not Taking All ImageUnattend.xml Settings
(too old to reply)
imatthews
2009-03-24 23:12:35 UTC
Permalink
What would cause a Vista Business 64 Bit image from WDS on Server 2008 32Bit
Standard to ignor the parts of an answer file? For example keyboard,
language... settings are set in the unattend.xml file but I still have to
answer the question during the install process:

<InputLocale>0409:00000409</InputLocale>
<SystemLocale>en-US</SystemLocale>
<UILanguage>en-US</UILanguage>
<UILanguageFallback>en-US</UILanguageFallback>
<UserLocale>en-US</UserLocale>
<LayeredDriver>1</LayeredDriver>

those items are configured. They are the same as my old X86 answer file
which was working fine on an old WDS server (which is now decommissioned).

Some of the settings are being processed. In particular, the OEM
information is showing when a machine is completed but other settings like
NETWORK LOCATION are not.

In WDS I have set ALLOW IMAGE TO INSTALL IN UNATTENDED MODE and then
selected x:\REMOTEINSTALL\WDSUNATTEND\WDSClientUnattend.xml which is then
copied to
x:\RemoteInstall\Images\ImageGroup1\capture\Unattend\ImageUnattend.xml . I
have restarted WDS Service.

All I can think of is that the keyboard, Language, Locale... settings should
not be in the PASS 1: WINPE settings but rather these settings should occur
in PASS 7, however, that does not appear to be an option.

After 4 solid hours over two days, I am out of ideas.

Any assistance would be appreciated.


____________________

FULL ANSWER FILE


<?xml version="1.0" encoding="utf-8"?>
<unattend xmlns="urn:schemas-microsoft-com:unattend">
<settings pass="oobeSystem">
<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">
<OEMInformation>
<Manufacturer>Up &amp; Running Technologies
Incorporated</Manufacturer>
<Model>Arcis Corporation x64 Image</Model>
<Logo>\\coherent-ms\remoteinstall\ur-sm.bmp</Logo>
<SupportPhone>403-781-XXXX</SupportPhone>
</OEMInformation>
<OOBE>
<HideEULAPage>true</HideEULAPage>
<NetworkLocation>Work</NetworkLocation>
<ProtectYourPC>1</ProtectYourPC>
<SkipUserOOBE>true</SkipUserOOBE>
</OOBE>
<TimeZone>Mountain Standard Time</TimeZone>
<BluetoothTaskbarIconEnabled>false</BluetoothTaskbarIconEnabled>
<UserAccounts>
<AdministratorPassword>
<Value>cAB1AGIAbAAxAGMAQXXXXXXXXXXXEAcwBzAHcAbwByAGQA</Value>
<PlainText>false</PlainText>
</AdministratorPassword>
</UserAccounts>
</component>
<component name="Microsoft-Windows-Sidebar"
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">
<Gadget1>%PROGRAMFILES%\windows
sidebar\gadgets\WeatherBug.Gadget,true</Gadget1>
<Gadget4>%PROGRAMFILES%\windows
sidebar\gadgets\Calculatorium[1].gadget,true</Gadget4>
<Gadget5>%PROGRAMFILES%\windows
sidebar\gadgets\calculator[1].gadget,true</Gadget5>
</component>
</settings>
<settings pass="windowsPE">
<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">
<UserData>
<ProductKey>
<Key>D7XXB-72XXM-XXXXX-XXXXX-33XXC</Key>
<WillShowUI>OnError</WillShowUI>
</ProductKey>
<AcceptEula>true</AcceptEula>
<FullName>XXXXX Employee</FullName>
<Organization>XXXXX Corporation</Organization>
</UserData>
</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">
<InputLocale>0409:00000409</InputLocale>
<SystemLocale>en-US</SystemLocale>
<UILanguage>en-US</UILanguage>
<UILanguageFallback>en-US</UILanguageFallback>
<UserLocale>en-US</UserLocale>
<LayeredDriver>1</LayeredDriver>
</component>
</settings>
<cpi:offlineImage
cpi:source="wim:h:/imagexstuff/a_vista%20x64%20arcis%20complete%20-%20mar19%2009.wim#A_Vista
x64 Arcis Complete - Mar19 09" xmlns:cpi="urn:schemas-microsoft-com:cpi" />
</unattend>

__________________________________
Ian Matthews
MSCE 2001, IPD, BComm.
Up & Running Technologies Inc
Dave Guenthner [MSFT]
2009-03-25 12:23:01 UTC
Permalink
WDS requires two unattends. The first one, I refer to as WDSClient
automates the initial installation wizard screen you get immediately after
PXE. That is associated in the WDS console per architecture type. So you
would create one for X86 and one for X64 for example. The second unattend
is for automating installation of the operating system itself. I would
work through the WDS client unattend first (since this does not requires
the installation of the OS first. Then focus on unattend for the OS
installation that you associate with the install.wim in the GUI, different
location than architecture type.

WDS is great for simple, straight forward deployment. If you want to
create a advanced installation wizard to incorporate drivers and
applications on the fly, you may want to look at Microsoft Deployment
Toolkit, which does most of the heavy lifting for you by creating the
unattends for you and provides a framework to add applications etc. through
GUI console. It can work with WDS if you choose as well.

You mentioned network location, when you logon after the deployment you
receive a pop up about home/work etc, I believe that is a bug.

There are some sample unattends for WDS located on the machine with WAIK
installed.
C:\Program Files\Windows AIK\Samples

Misc Links on deployment which should help:

Introduction to Windows Deployment Services
http://technet2.microsoft.com/windowsserver2008/en/library/14b32ca9-0070-487
d-89cc-e09585867c6a1033.mspx?mfr=true

Deploying and Managing the Windows Deployment Services Update on Windows
Server 2003 (Preferred, this is what I use)
http://www.microsoft.com/downloads/details.aspx?FamilyID=941D4393-AB37-4047-
B9C5-616B79D73301&displaylang=en

Windows Deployment Services Update Step-by-Step Guide for Windows Server
2003 (Web documentation)
http://technet2.microsoft.com/WindowsVista/en/library/9e197135-6711-4c20-bfa
d-fc80fc2151301033.mspx

Windows Automated Installation Kit (AIK)
http://www.microsoft.com/downloads/details.aspx?familyid=C7D4BC6D-15F3-4284-
9123-679830D629F2&displaylang=en

Setup Blog which discussed WDS (Screen shots)
http://blogs.technet.com/askcore/

Microsoft Deployment Team Blog
http://blogs.technet.com/msdeployment/default.aspx

Dave Guenthner [MSFT]
This posting is provided "AS IS" with no warranties, and confers no rights.
imatthews
2009-03-25 15:55:49 UTC
Permalink
Hi Dave;

Thanks for the great detail.

The answer file I am working on should only apply to the "post PXE" OS
installation on complete images I have captured using WDS. I want to
automate only the mini-setup wizard and I do not want to add in additional
software or drivers during the process.

I have been using WDS since the day it came out so I have some experience.
WDS can be used without the "WDSClient" / post-PXE unattend answer file (set
under WDS Server, Properties, Client, Enable Unattended Installation), which
is a good thing because I do not want to prestage the PC's and I do not want
to automate the drive partition / format settings.

I want to do what I have been doing with my x86 builds (on my old and now
dead WDS server) which is to PXE boot, manually login, manually select the
image to be applied, manually toast (or not) the drive and then have the
rest of the install fully automated.

This is my first attempt to build and use an x64 Unattend. The key is to
answer the Minisetup wizard questions. I do not want to be prompted for the
COUNTRY, TIME, KEYBOARD, USER/PASSWORD...

I used the current SIM to build the unattend shown below. I simply looked
at my old x86 unattend and tried to find the same settings in the AMD64
section. I created a brand new AMD64 unattend.xml which only contains AMD64
settings (perhaps that is the problem?). I copied the file to
X:\RemoteInstall\WdsClientUnattend\WDSClientUnattend.xml, then right clicked
on my x64 bit image in WDS, selected ALLOW UNATTEND... and pointed it to
X:\RemoteInstall\WdsClientUnattend\WDSClientUnattend.xml which copied the
unattend to ...\Images\ImageGroup1\capture\Unattend\ImageUnattend.xml just
like it is supposed to.

I restarted the WDS Service and tried to image a new machine but found I was
still prompted by the minisetup wizard. However, the OEM information was
set, so I know that WDS is reading the file.

Any suggestions as to what I am doing wrong (or missing) would be greatly
appreciated.

_____________________

FULL ANSWER FILE: WDSClientUnattend.xml

<?xml version="1.0" encoding="utf-8"?>
<unattend xmlns="urn:schemas-microsoft-com:unattend">
<settings pass="oobeSystem">
<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">
<OEMInformation>
<Manufacturer>Up &amp; Running Technologies
Incorporated</Manufacturer>
<Model>Arcis Corporation x64 Image</Model>
<Logo>\\coherent-ms\remoteinstall\ur-sm.bmp</Logo>
<SupportPhone>403-781-XXXX</SupportPhone>
</OEMInformation>
<OOBE>
<HideEULAPage>true</HideEULAPage>
<NetworkLocation>Work</NetworkLocation>
<ProtectYourPC>1</ProtectYourPC>
<SkipUserOOBE>true</SkipUserOOBE>
</OOBE>
<TimeZone>Mountain Standard Time</TimeZone>
<BluetoothTaskbarIconEnabled>false</BluetoothTaskbarIconEnabled>
<UserAccounts>
<AdministratorPassword>
<Value>cAB1AGIAbAAxAGMAQXXXXXXXXXXXEAcwBzAHcAbwByAGQA</Value>
<PlainText>false</PlainText>
</AdministratorPassword>
</UserAccounts>
</component>
<component name="Microsoft-Windows-Sidebar"
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">
<Gadget1>%PROGRAMFILES%\windows
sidebar\gadgets\WeatherBug.Gadget,true</Gadget1>
<Gadget4>%PROGRAMFILES%\windows
sidebar\gadgets\Calculatorium[1].gadget,true</Gadget4>
<Gadget5>%PROGRAMFILES%\windows
sidebar\gadgets\calculator[1].gadget,true</Gadget5>
</component>
</settings>
<settings pass="windowsPE">
<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">
<UserData>
<ProductKey>
<Key>D7XXB-72XXM-XXXXX-XXXXX-33XXC</Key>
<WillShowUI>OnError</WillShowUI>
</ProductKey>
<AcceptEula>true</AcceptEula>
<FullName>XXXXX Employee</FullName>
<Organization>XXXXX Corporation</Organization>
</UserData>
</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">
<InputLocale>0409:00000409</InputLocale>
<SystemLocale>en-US</SystemLocale>
<UILanguage>en-US</UILanguage>
<UILanguageFallback>en-US</UILanguageFallback>
<UserLocale>en-US</UserLocale>
<LayeredDriver>1</LayeredDriver>
</component>
</settings>
<cpi:offlineImage
cpi:source="wim:h:/imagexstuff/a_vista%20x64%20arcis%20complete%20-%20mar19%2009.wim#A_Vista
x64 Arcis Complete - Mar19 09" xmlns:cpi="urn:schemas-microsoft-com:cpi" />
</unattend>
Dave Guenthner [MSFT]
2009-03-26 02:42:10 UTC
Permalink
Let's refer to the first screen after PXE as WDS Client Wizard. That
unattend could be named WDSClientUnattend.xml. Based on your response, you
are not intersted in that part.
You are interested in the imageunattend.xml to automate OOBE.

Since this is X64, you need to use the WAIK on a X86 or X64 machine to
catalog the X64 install.wim. Then refer to:
http://technet.microsoft.com/en-us/library/cc732280.aspx#ex1

Look for "Combined Image and Client Unattend File"
This single unattend should automate both parts. This example is for X86
but mirroring that using X64 components should work the same. You can
remove the beginning sections
which deal with WDSClientWizard and leave the remainder for unattended
image installation.

Dave Guenthner [MSFT]
This posting is provided "AS IS" with no warranties, and confers no rights.
imatthews
2009-03-27 13:59:19 UTC
Permalink
Hi Dave;

Thanks for the help. I have it working well at this point but can't seem to
locate a few settings.

Do you (or anyone) know if the Windows Update "Get Updates For More
Products" option can be enabled in an Unattend file.
Post by Dave Guenthner [MSFT]
Let's refer to the first screen after PXE as WDS Client Wizard. That
unattend could be named WDSClientUnattend.xml. Based on your response, you
are not intersted in that part.
You are interested in the imageunattend.xml to automate OOBE.
Since this is X64, you need to use the WAIK on a X86 or X64 machine to
http://technet.microsoft.com/en-us/library/cc732280.aspx#ex1
Look for "Combined Image and Client Unattend File"
This single unattend should automate both parts. This example is for X86
but mirroring that using X64 components should work the same. You can
remove the beginning sections
which deal with WDSClientWizard and leave the remainder for unattended
image installation.
Dave Guenthner [MSFT]
This posting is provided "AS IS" with no warranties, and confers no rights.
Dave Guenthner [MSFT]
2009-03-28 02:16:07 UTC
Permalink
Good question, I had to look this one up. The answer is no. I am sure there
is a way to script via running a command from the unattend, but do not have
specifics.

Dave Guenthner [MSFT]
This posting is provided "AS IS" with no warranties, and confers no rights.
imatthews
2009-04-01 16:56:48 UTC
Permalink
Hi Dave;

Thanks for the effort. It is sincerely appreciated.
Post by Dave Guenthner [MSFT]
Good question, I had to look this one up. The answer is no. I am sure there
is a way to script via running a command from the unattend, but do not have
specifics.
Dave Guenthner [MSFT]
This posting is provided "AS IS" with no warranties, and confers no rights.
Loading...