Windows 10 setup ignoring autounattend.xml

2

I used Windows System Image Manager to create an answer file for an embedded Windows 10. Windows 10 setup seems to ignore the answer file completely and asks me to set up the machine instead of being unattended.

I based my answer file on chapters 1-2 of "Starter Guide for Windows IOT 10 Enterprise" from annabooks.com

The image was prepared using the ADK tools to inject some custom drivers; other than that it's just a Windows 10 Enterprise LTSB.

It's probably clear that I messed up the setup somewhere, but I can't seem to figure out where.

Edit: I went over the documentation again, and I missed some OOBE settings. I corrected these settings using WSIM, yet it's still being ignored.

The file is called "Autounattend.xml" and is placed in the root directory of the USB stick containing the installation files.

<?xml version="1.0" encoding="utf-8"?>
<unattend xmlns="urn:schemas-microsoft-com:unattend">
    <unattend xmlns="urn:schemas-microsoft-com:unattend">
<settings pass="windowsPE">
    <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>en-US</InputLocale>
        <SystemLocale>en-US</SystemLocale>
        <UILanguage>en-US</UILanguage>
        <UILanguageFallback>en-US</UILanguageFallback>
        <UserLocale>en-US</UserLocale>
        <SetupUILanguage>
            <UILanguage>en-US</UILanguage>
        </SetupUILanguage>
    </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>
                <InstallFrom>
                    <MetaData wcm:action="add">
                        <Key>/IMAGE/NAME</Key>
                        <Value>Windows 10 Enterprise Evaluation</Value>
                    </MetaData>
                </InstallFrom>
            </OSImage>
        </ImageInstall>
        <UserData>
            <ProductKey>
                <Key>removed</Key>
                <WillShowUI>OnError</WillShowUI>
            </ProductKey>
            <AcceptEula>true</AcceptEula>
        </UserData>
    </component>
</settings>
<settings pass="specialize">
    <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">
        <AutoLogon>
            <Password>
                <Value>cABhAHMAcwB3AG8AcgBkAFAAYQBzAHMAdwBvAHIAZAA=</Value>
                <PlainText>false</PlainText>
            </Password>
            <Username>EcoMixer</Username>
            <LogonCount>4294967294</LogonCount>
            <Enabled>true</Enabled>
        </AutoLogon>
        <ComputerName>EcoMixer</ComputerName>
        <TimeZone>GMT Standard Time</TimeZone>
    </component>
</settings>
<settings pass="oobeSystem">
    <component name="Microsoft-Windows-International-Core" 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">
        <SystemLocale>en-US</SystemLocale>
        <UILanguage>en-US</UILanguage>
        <UserLocale>en-US</UserLocale>
    </component>
    <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>
            <ProtectYourPC>3</ProtectYourPC>
            <HideLocalAccountScreen>true</HideLocalAccountScreen>
            <HideOEMRegistrationScreen>true</HideOEMRegistrationScreen>
            <HideOnlineAccountScreens>true</HideOnlineAccountScreens>
            <HideWirelessSetupInOOBE>true</HideWirelessSetupInOOBE>
        </OOBE>
        <UserAccounts>
            <LocalAccounts>
                <LocalAccount wcm:action="add">
                    <Password>
                        <Value>cABhAHMAcwB3AG8AcgBkAFAAYQBzAHMAdwBvAHIAZAA=</Value>
                        <PlainText>false</PlainText>
                    </Password>
                    <DisplayName>EcoMixer</DisplayName>
                    <Name>EcoMixer</Name>
                    <Group>Administrators</Group>
                </LocalAccount>
            </LocalAccounts>
        </UserAccounts>
    </component>
</settings>
<cpi:offlineImage cpi:source="wim:e:/sources/install.wim#Windows 10 Enterprise Evaluation" xmlns:cpi="urn:schemas-microsoft-com:cpi" />
</unattend>

Memhave

Posted 2018-08-08T15:58:51.067

Reputation: 49

Answers

-1

Some issues I found:

1) I'm not sure whether you can use an AutoUnattend.XML file using an evaluation image, switching to to a proper image allowed the setup to continue.

2) The localisation/language options were incorrect. I have a GB image* so I had to use en-GB on all the necessary options (I mistakenly believed that UILanguage had to be en-US, it did not).

*A note on this: if you have a GB image, en-GB is the "main" localisation/language. If you have a US image, en-GB is a subset of en-US meaning that if you want en-GB on a US image you must select en-US as the UILanguage and everything else en-GB.

3) I had some weird license file corruptions - I don't know what caused it. I suggest you don't use a generic key.

If you're a beginner (like me), I'm using the book:

Starter Guide For Windows IoT Enterprise by Sean Liming and John R. Malin. It's pretty comprehensive if you have no clue what you're doing like me.

Memhave

Posted 2018-08-08T15:58:51.067

Reputation: 49

-1

I'm posting this here as I just ran into it. I had the same issue where autounattend.xml would not work even though it was all correct and working properly on other USB drives. It appears that Windows Setup has issues with certain cheap USB drives and cannot load the autounattend.xml file from them.

For us, all of the same type of drive failed across the board. They would start the Windows 10 setup process, but not use the autounattend.xml. Using actual "branded" drives (i.e.: Kingston, Samsung, etc.) worked without issue and the autounattend.xml was loaded properly. The USB drives that didn't work were cheap 8GB drives from China that identified as "Generic USB Drive 5.0" or something similar.

Just in case you run into this too, it may not be you, but rather a cheap USB causing the issue.

Michael McCool

Posted 2018-08-08T15:58:51.067

Reputation: 1

I was using a kingston drive and the issue was was localisation :) – Memhave – 2019-07-29T21:04:00.200