Had to trace down a bug today in MDT 2013. Setup my new MDT 2013 environment with the latest Windows 8.1 Eval bits, and when installing on my tablet I get the following:
I saw this bug a while back with the MDT 2013 Preview release. I was hoping that the problem would resolve itself with MDT 2013 (RTM), but when looking at the latest release, I could see that it was still there.
Install MDT 2013 on your local file server, import a WIndows 8.1 OS, and create a standard Client Task Sequence.
When I try to run setup on my Surface Pro device, I got the OOBE (Out of Box Experience) setup screen above.
I had done some investigation before, and found out that my unattend.xml file was missing the HideWirelessSetupInOOBE element. Easy enough fix.
I did some e-mailing to some friends and they pointed me to the MDT 2013 release notes (I *swear* that I read the release notes, but I didn’t catch this gem :^).
OOBE settings missing from Windows 8.1 Unattend.xml template
Windows 8.1 task sequences use an older Unattend.xml template that does not include several properties in the <OOBE> section, such as HideWirelessSetupInOOBE, which can require manual interaction with deployments on systems with wireless network adapters.
WORKAROUND: Add the following entries to the <OOBE> section of the Unattend.xml for Windows 8.1 task sequences.<OOBE> <HideEULAPage>true</HideEULAPage> <NetworkLocation>Work</NetworkLocation> <ProtectYourPC>1</ProtectYourPC> <HideLocalAccountScreen>true</HideLocalAccountScreen> <HideOnlineAccountScreens>true</HideOnlineAccountScreens> <HideWirelessSetupInOOBE>true</HideWirelessSetupInOOBE> </OOBE>
(Note: only the properties in bold text need to be added.)
The MDT team (really Niehaus) did a really good job of trying to keep the unattend.xml files the same between versions of the Windows OS, from Vista, to 7 to 8. However there are some technical challenges trying to get these to work across all OS’es. There were some features added in for Vista, that are no longer needed for Windows 7. And there are some features in Windows 7 that are mutually exclusive in Windows 8 and vise versa.
For Windows 8, a different solution had to be found because of Unattend.xml schema changes required for Windows 8, that were incompatible with Windows 7. So for MDT 2012 Update 1, a new set of files were added:
Unattend.txt Unattend_Core_x64.xml Unattend_Core_x64.xml.6.2 <-- NEW! Unattend_Core_x86.xml Unattend_Core_x86.xml.6.2 <-- NEW! Unattend_PE_x64.xml Unattend_PE_x86.xml Unattend_x64.xml Unattend_x64.xml.6.2 <-- NEW! Unattend_x86.xml Unattend_x86.xml.6.2 <-- NEW!
For those in the know:
Windows 6.0 = Windows Vista Windows 6.1 = Windows 7 Windows 6.2 = Windows 8 Windows 6.3 = Windows 8.1
So when MDT attempts to import the unattend_x64.xml file from the c:\program files\Microsoft Deployment Toolkit\Templates directory. It will use the Unattend_x64.xml file if the OS is Vista or Windows 7 (or similar server), and will use Unattend_x64.xml.6.2 for Windows 8.
But what about Windows 8.1? Well this is where things break down, because there is no Unattend_x64.xml.6.3 file, MDT defaults back to the Windows 7 version, which does not have our required HideWirelessSetupInOOBE element. <sigh>
The work around is somewhat simple in this case we need to create Unattend_*.xml.6.3 versions of the unattend files. In this case just copy the Unattend_*.xml.6.2 versions.
The script is easy:
cd "%programfiles%\microsoft deployment toolkit\templates" copy *.2 *.3
This will simply create the correct set of files in the templates directory. Do this when you first install MDT, and before you create any new Windows 8.1 templates.