none
Use baked-in OEM product key in unattend.xml RRS feed

  • Question

  • So I've got a deployment server setup and working wonderfully. I'm deploying custom Windows 10 Pro images to mostly new laptops that shipped with Windows 10 Pro. Currently, none of it is automated and I'm never prompted for a product key. It auto activates using the OEM key baked into the BIOS. 

    I am now trying to automate the process and ran into a snag: The unattend.xml will not let me leave the product key field blank in Microsoft-Windows-Shell-Setup and will error after the install: 

    Windows could not parse or process the unattend answer file for pass [specialize]. The settings specified in the answer file cannot be applied. The error was detected while processing settings for component [Microsoft-Windows-Shell-Setup]
    I do have some MAK keys but I would like to only use them on older systems that shipped with Windows 8.1. 

    I've found some info about the 2 Product Key values and it sounds like 1 is used to just install but not necessarily activate.

    https://technet.microsoft.com/en-us/library/cc721925(v=ws.10).aspx

    There are two Product Key settings you can configure. Use this ProductKey setting to specify the Windows image to install during Windows Setup. This product key specified by this setting is stored on the computer after installation. If you choose to activate Windows, this product key will be used. Use the ProductKey setting to specify a different product key to activate Windows. For example, you can specify one product key to install Windows with the ProductKey in Microsoft-Windows-Setup component, and then specify a different product key to activate Windows with ProductKey

    Either way, if I specify a key in the windows PE section, it sounds like it will still error if no key is specified in the Microsoft-Windows-Shell-Setup.

    Thursday, March 9, 2017 4:15 PM

All replies

  • I do not specify a product key in my unattend. It looks like this. I use MAK keys...

    <ProductKey></ProductKey>

    You can indicate a key in your customsettings.ini or add a step in your task sequence to indicate a key and then another step to activate it. I can share that if you want!

    Friday, March 10, 2017 12:51 PM
  • I'm using MDT 2013 Update 2 and the help file indicates that you cannot use a blank value. I put my MAK key in there and it's still throwing the same error. 

    Here's my XML.

    <?xml version="1.0" encoding="utf-8"?>
    <unattend xmlns="urn:schemas-microsoft-com:unattend">
        <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">
                <ImageInstall>
                    <OSImage>
                        <WillShowUI>OnError</WillShowUI>
                        <InstallTo>
                            <DiskID>0</DiskID>
                            <PartitionID>1</PartitionID>
                        </InstallTo>
                        <InstallFrom>
                            <Path>.\Operating Systems\Jan9\Jan9.wim</Path>
                            <MetaData>
                                <Key>/IMAGE/INDEX</Key>
                                <Value>1</Value>
                            </MetaData>
                        </InstallFrom>
                    </OSImage>
                </ImageInstall>
                <ComplianceCheck>
                    <DisplayReport>OnError</DisplayReport>
                </ComplianceCheck>
                <UserData>
                    <AcceptEula>true</AcceptEula>
                    <ProductKey>
                        <Key></Key>
                    </ProductKey>
                </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">
                <SetupUILanguage>
                    <UILanguage>en-US</UILanguage>
                </SetupUILanguage>
                <InputLocale>0409:00000409</InputLocale>
                <SystemLocale>en-US</SystemLocale>
                <UILanguage>en-US</UILanguage>
                <UserLocale>en-US</UserLocale>
            </component>
        </settings>
        <settings pass="generalize">
            <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">
                <DoNotCleanTaskBar>true</DoNotCleanTaskBar>
            </component>
        </settings>
        <settings pass="specialize">
            <component name="Microsoft-Windows-UnattendedJoin" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State">
                <Identification>
                    <Credentials>
                        <Username></Username>
                        <Domain></Domain>
                        <Password></Password>
                    </Credentials>
                    <JoinDomain></JoinDomain>
                    <JoinWorkgroup></JoinWorkgroup>
                    <MachineObjectOU></MachineObjectOU>
                </Identification>
            </component>
            <component name="Microsoft-Windows-Shell-Setup" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State">
                <ComputerName>W10</ComputerName>
                <RegisteredOrganization>LWNW</RegisteredOrganization>
                <RegisteredOwner>admin</RegisteredOwner>
                <DoNotCleanTaskBar>true</DoNotCleanTaskBar>
                <TimeZone>Pacific Standard Time</TimeZone>
                <ShowPowerButtonOnStartScreen>true</ShowPowerButtonOnStartScreen>
                <BluetoothTaskbarIconEnabled>false</BluetoothTaskbarIconEnabled>
                <CopyProfile>false</CopyProfile>
                <DisableAutoDaylightTimeSet>false</DisableAutoDaylightTimeSet>
                <EnableStartMenu>true</EnableStartMenu>
                <ShowWindowsLive>false</ShowWindowsLive>
                <SignInMode>0</SignInMode>
                <ConvertibleSlateModePromptPreference>0</ConvertibleSlateModePromptPreference>
                <OEMName>OEM</OEMName>
                <ProductKey>XXXX</ProductKey>
            </component>
            <component name="Microsoft-Windows-IE-InternetExplorer" 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">
                <Home_Page>www.company.org</Home_Page>
            </component>
            <component name="Microsoft-Windows-Deployment" 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">
                <RunSynchronous>
                    <RunSynchronousCommand wcm:action="add">
                        <Description>EnableAdmin</Description>
                        <Order>1</Order>
                        <Path>cmd /c net user Administrator /active:yes</Path>
                    </RunSynchronousCommand>
                    <RunSynchronousCommand wcm:action="add">
                        <Description>UnfilterAdministratorToken</Description>
                        <Order>2</Order>
                        <Path>cmd /c reg add HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System /v FilterAdministratorToken /t REG_DWORD /d 0 /f</Path>
                    </RunSynchronousCommand>
                    <RunSynchronousCommand wcm:action="add">
                        <Description>disable user account page</Description>
                        <Order>3</Order>
                        <Path>reg add HKLM\Software\Microsoft\Windows\CurrentVersion\Setup\OOBE /v UnattendCreatedUser /t REG_DWORD /d 1 /f</Path>
                    </RunSynchronousCommand>
                    <RunSynchronousCommand wcm:action="add">
                        <Description>disable async RunOnce</Description>
                        <Order>4</Order>
                        <Path>reg add HKLM\Software\Microsoft\Windows\CurrentVersion\Explorer /v AsyncRunOnce /t REG_DWORD /d 0 /f</Path>
                    </RunSynchronousCommand>
                </RunSynchronous>
            </component>
            <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">
                <InputLocale>0409:00000409</InputLocale>
                <SystemLocale>en-US</SystemLocale>
                <UILanguage>en-US</UILanguage>
                <UserLocale>en-US</UserLocale>
            </component>
            <component name="Microsoft-Windows-TapiSetup" 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">
                <TapiConfigured>0</TapiConfigured>
                <TapiUnattendLocation>
                    <AreaCode>""</AreaCode>
                    <CountryOrRegion>1</CountryOrRegion>
                    <LongDistanceAccess>9</LongDistanceAccess>
                    <OutsideAccess>9</OutsideAccess>
                    <PulseOrToneDialing>1</PulseOrToneDialing>
                    <DisableCallWaiting>""</DisableCallWaiting>
                    <InternationalCarrierCode>""</InternationalCarrierCode>
                    <LongDistanceCarrierCode>""</LongDistanceCarrierCode>
                    <Name>Default</Name>
                </TapiUnattendLocation>
            </component>
            <component name="Microsoft-Windows-SystemRestore-Main" 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">
                <DisableSR>1</DisableSR>
            </component>
        </settings>
        <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">
                <UserAccounts>
                    <AdministratorPassword>
                        <Value>QQBkAG0AaQBuAGkAcwB0AHIAYQB0AG8AcgBQAGEAcwBzAHcAbwByAGQA</Value>
                        <PlainText>false</PlainText>
                    </AdministratorPassword>
                </UserAccounts>
                <AutoLogon>
                    <Enabled>false</Enabled>
                    <Username>Administrator</Username>
                    <Domain>.</Domain>
                    <Password>
                        <Value>UABhAHMAcwB3AG8AcgBkAA==</Value>
                        <PlainText>false</PlainText>
                    </Password>
                    <LogonCount>999</LogonCount>
                </AutoLogon>
                <Display>
                    <ColorDepth>32</ColorDepth>
                    <HorizontalResolution>1366</HorizontalResolution>
                    <RefreshRate>60</RefreshRate>
                    <VerticalResolution>768</VerticalResolution>
                </Display>
                <FirstLogonCommands>
                    <SynchronousCommand wcm:action="add">
                        <CommandLine>wscript.exe %SystemDrive%\LTIBootstrap.vbs</CommandLine>
                        <Description>Lite Touch new OS</Description>
                        <Order>1</Order>
                        <RequiresUserInput>false</RequiresUserInput>
                    </SynchronousCommand>
                </FirstLogonCommands>
                <OOBE>
                    <HideEULAPage>true</HideEULAPage>
                    <NetworkLocation>Work</NetworkLocation>
                    <ProtectYourPC>1</ProtectYourPC>
                    <HideLocalAccountScreen>true</HideLocalAccountScreen>
                    <HideOnlineAccountScreens>true</HideOnlineAccountScreens>
                    <HideWirelessSetupInOOBE>true</HideWirelessSetupInOOBE>
                    <SkipMachineOOBE>true</SkipMachineOOBE>
                    <SkipUserOOBE>true</SkipUserOOBE>
                    <HideOEMRegistrationScreen>true</HideOEMRegistrationScreen>
                </OOBE>
                <RegisteredOrganization>Company</RegisteredOrganization>
                <RegisteredOwner>Windows User</RegisteredOwner>
                <TimeZone>Pacific Standard Time</TimeZone>
                <BluetoothTaskbarIconEnabled>false</BluetoothTaskbarIconEnabled>
                <ConvertibleSlateModePromptPreference>0</ConvertibleSlateModePromptPreference>
                <DisableAutoDaylightTimeSet>false</DisableAutoDaylightTimeSet>
                <EnableStartMenu>true</EnableStartMenu>
                <ShowPowerButtonOnStartScreen>true</ShowPowerButtonOnStartScreen>
                <ShowWindowsLive>false</ShowWindowsLive>
                <SignInMode>0</SignInMode>
            </component>
            <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">
                <InputLocale>0409:00000409</InputLocale>
                <SystemLocale>en-US</SystemLocale>
                <UILanguage>en-US</UILanguage>
                <UserLocale>en-US</UserLocale>
            </component>
        </settings>
        <settings pass="offlineServicing">
            <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>\Drivers</Path>
                    </PathAndCredentials>
                </DriverPaths>
            </component>
        </settings>
        <cpi:offlineImage cpi:source="catalog://win-0susnj700g7/deploymentshare$/operating systems/jan9/jan9_capturecdrive.clg" xmlns:cpi="urn:schemas-microsoft-com:cpi" />
    </unattend>
    

    Friday, March 10, 2017 5:33 PM
  • I don't know if Win 10 Pro OEM and RETAIL are the same.  You might have better luck on the Windows 10 forum.

    Many questions such as where do I find logs and what logs are interesting are found in: MDT TechNet Forum - FAQ & Getting Started Guide Please take the time to read it. Also if you don't post logs your problem won't be easily solved.

    Sunday, March 12, 2017 3:32 AM
    Moderator
  • Were you able to solve this problem? I am having the same at the moment. Would appreciate any answer!
    Wednesday, January 10, 2018 3:06 PM