Jump to content

Win8 autounattend.xml skip product key


Recommended Posts

Hello!

I'm trying to make autounattend.xml file for auto win8 install. Everyting works great, but after restart install process stops at product key enter screen.

My autounattend.xml file:

<?xml version="1.0" encoding="utf-8"?><unattend xmlns="urn:schemas-microsoft-com:unattend">    <settings pass="windowsPE">        <component name="Microsoft-Windows-International-Core-WinPE" processorArchitecture="x86" 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>pl-PL</InputLocale>            <SystemLocale>pl-PL</SystemLocale>            <UILanguage>pl-PL</UILanguage>            <UILanguageFallback>pl-PL</UILanguageFallback>            <UserLocale>pl-PL</UserLocale>        </component>        <component name="Microsoft-Windows-Setup" processorArchitecture="x86" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">            <UpgradeData>                <Upgrade>false</Upgrade>                <WillShowUI>Never</WillShowUI>            </UpgradeData>            <UserData>                <AcceptEula>true</AcceptEula>            </UserData>        </component>    </settings>    <settings pass="specialize">        <component name="Microsoft-Windows-Security-SPP-UX" processorArchitecture="x86" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">            <SkipAutoActivation>true</SkipAutoActivation>        </component>        <component name="Microsoft-Windows-Shell-Setup" processorArchitecture="x86" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">            <ComputerName>PC</ComputerName>        </component>        <component name="Microsoft-Windows-SQMApi" processorArchitecture="x86" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">            <CEIPEnabled>0</CEIPEnabled>        </component>        <component name="Microsoft-Windows-ErrorReportingCore" processorArchitecture="x86" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">            <DisableWER>1</DisableWER>            <DefaultConsent>1</DefaultConsent>        </component>    </settings>    <settings pass="oobeSystem">        <component name="Microsoft-Windows-Shell-Setup" processorArchitecture="x86" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">            <FirstLogonCommands>                <SynchronousCommand wcm:action="add">                    <CommandLine>cmd /C wmic useraccount where "name='user'" set PasswordExpires=FALSE</CommandLine>                    <Order>1</Order>                </SynchronousCommand>            </FirstLogonCommands>            <OOBE>                <HideEULAPage>true</HideEULAPage>                <HideLocalAccountScreen>true</HideLocalAccountScreen>                <HideOnlineAccountScreens>true</HideOnlineAccountScreens>                <HideWirelessSetupInOOBE>true</HideWirelessSetupInOOBE>                <NetworkLocation>Other</NetworkLocation>                <HideOEMRegistrationScreen>true</HideOEMRegistrationScreen>                <ProtectYourPC>1</ProtectYourPC>            </OOBE>            <UserAccounts>                <LocalAccounts>                    <LocalAccount wcm:action="add">                        <Password>                            <Value>UABhAHMAcwB3AG8AcgBkAA==</Value>                            <PlainText>false</PlainText>                        </Password>                        <Name>user</Name>                        <DisplayName>user</DisplayName>                        <Group>Administrators</Group>                    </LocalAccount>                </LocalAccounts>            </UserAccounts>            <RegisteredOwner>xxx</RegisteredOwner>            <RegisteredOrganization>xxx</RegisteredOrganization>            <TimeZone>Central European Standard Time</TimeZone>        </component>        <component name="Microsoft-Windows-International-Core" processorArchitecture="x86" 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>pl-PL</InputLocale>            <SystemLocale>pl-PL</SystemLocale>            <UILanguage>pl-PL</UILanguage>            <UILanguageFallback>pl-PL</UILanguageFallback>            <UserLocale>pl-PL</UserLocale>        </component>    </settings></unattend>

Please help, the target is to skip it at install time :)

Edited by t0mNight
Link to comment
Share on other sites


It would be great, but using key in my case creates 2 more problems:

- if the hardware have OEM key in BIOS... which key will be installed (form bios or from file) ?

- how to store 2 keys (for core and pro) in one XML?

The best way would be bypassing the whoole OOBE stage ( http://technet.microsoft.com/en-us/library/ff716280.aspx ), but it's deprecated in Win8.

(... but works great in Win7 :) )

Edited by t0mNight
Link to comment
Share on other sites

It would be great, but using key in my case creates 2 more problems:

- if the hardware have OEM key in BIOS... which key will be installed (form bios or from file) ?

- how to store 2 keys (for core and pro) in one XML?

Well here's the rub. The product key is what tells Windows 8 whether to look into the BIOS or not. Unfortunately, that product key is not public! The public key will instruct the OS to not look into the BIOS for the activation key, at least that is my understanding of it.

The second question is that you can't have the two different keys in the same XML.

Link to comment
Share on other sites

As I said before, the perfect solution would be simply skip this step. I wonder if it's possible via AutoIT, however I don't even know how to run something in that phase. Another way is to place generic key as MAVERICS and auto activate the system later via some kind of scripting.

That second option should be easier becouse:

- key is possible to extract by:

- and may be placed into: slmgr.vbs -ipk <key>

Somebody have idea to make it unattended?

Edited by t0mNight
Link to comment
Share on other sites

  • 2 weeks later...

If you install from a USB key instead of a DVD, you can easily swap out different autounattend.xml, depending on the configuration you want to use. I created a batch filed to automate this process. The file must be pre-configured prior to booting and starting the Windows 8 install process with your USB key. I recommend a key of at least 16GB.

@echo off:: In order for this to work you must store your autounatten.xml files and pid.txt files with product keys in a folder called "Pid" in the root of your USB drive:: In the Pid folder create subfolders for each configuration, i.e. "Laptop", "DesktopPC". Place the corresponding pid.txt and autounattend.xml in each folder:: this code searches for the USB key based on the presence of the dummy file "WIN8_USB.ini"FOR %%d IN (D E F G H I J K L M N O P Q R S T U V W X Y Z) DO IF EXIST %%d:\WIN8_USB.ini SET CFDrv=%%d::: This code deletes any previous autounattend setupdel %CFDrv%\sources\pid.txtdel %CFDrv%\Autounattend.xml::This is the menu that you can customize to your own setupcls:: ChoicesCOLOR 1aECHO.ECHO.ECHO ############## Windows 8 Setup Assistant ###############ECHO.ECHO 1. Copy Windows 8.1 KMS key to the clipboard for upgradeECHO.ECHO 2. Configure ***LAPTOP***echo.ECHO 3. Configure ***Desktop PC***ECHO.echo 4. Exitecho.echo.Choice /C 1234 /M "Which Configuration do you want to use?"If Errorlevel 4 Goto endIf Errorlevel 3 Goto 3If Errorlevel 2 Goto 2If Errorlevel 1 Goto 1Goto End:1Echo This will place the KMS Product Key in the clipboardecho Hit "CTRL + C" to quit; any other key to continuepauseecho GCRJD-8NW9H-F2CDX-CCM8D-9D6T9 | clippowershell -Command Mount-DiskImage -ImagePath "%CFDrv%\Windows81.iso"Goto End:2Echo This will install the Laptop Product Key and Unattended fileecho Hit "CTRL + C" to quit; any other key to continueCOPY %CFDrv%\Pid\laptop\pid.txt %CFDrv%\sourcesCOPY %CFDrv%\Pid\laptop\Autounattend.xml %CFDrv%\Goto End:3Echo This will install the Desktop PC Product Key and Unattended fileecho Hit "CTRL + C" to quit; any other key to continueCOPY %CFDrv%\Pid\DesktopPC\pid.txt %CFDrv%\sourcesCOPY %CFDrv%\Pid\DesktopPC\Autounattend.xml %CFDrv%\Goto End:EndCLSCOLOR 1aECHOECHO "Exiting program"pauseExit
Edited by lurk&jerk
Link to comment
Share on other sites

  • 3 weeks later...

Hello!

I'm trying to make autounattend.xml file for auto win8 install. Everyting works great, but after restart install process stops at product key enter screen.

My autounattend.xml file:

<?xml version="1.0" encoding="utf-8"?><unattend xmlns="urn:schemas-microsoft-com:unattend">    <settings pass="windowsPE">        <component name="Microsoft-Windows-International-Core-WinPE" processorArchitecture="x86" 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>pl-PL</InputLocale>            <SystemLocale>pl-PL</SystemLocale>            <UILanguage>pl-PL</UILanguage>            <UILanguageFallback>pl-PL</UILanguageFallback>            <UserLocale>pl-PL</UserLocale>        </component>        <component name="Microsoft-Windows-Setup" processorArchitecture="x86" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">            <UpgradeData>                <Upgrade>false</Upgrade>                <WillShowUI>Never</WillShowUI>            </UpgradeData>            <UserData>                <AcceptEula>true</AcceptEula>            </UserData>        </component>    </settings>    <settings pass="specialize">        <component name="Microsoft-Windows-Security-SPP-UX" processorArchitecture="x86" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">            <SkipAutoActivation>true</SkipAutoActivation>        </component>        <component name="Microsoft-Windows-Shell-Setup" processorArchitecture="x86" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">            <ComputerName>PC</ComputerName>        </component>        <component name="Microsoft-Windows-SQMApi" processorArchitecture="x86" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">            <CEIPEnabled>0</CEIPEnabled>        </component>        <component name="Microsoft-Windows-ErrorReportingCore" processorArchitecture="x86" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">            <DisableWER>1</DisableWER>            <DefaultConsent>1</DefaultConsent>        </component>    </settings>    <settings pass="oobeSystem">        <component name="Microsoft-Windows-Shell-Setup" processorArchitecture="x86" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">            <FirstLogonCommands>                <SynchronousCommand wcm:action="add">                    <CommandLine>cmd /C wmic useraccount where "name='user'" set PasswordExpires=FALSE</CommandLine>                    <Order>1</Order>                </SynchronousCommand>            </FirstLogonCommands>            <OOBE>                <HideEULAPage>true</HideEULAPage>                <HideLocalAccountScreen>true</HideLocalAccountScreen>                <HideOnlineAccountScreens>true</HideOnlineAccountScreens>                <HideWirelessSetupInOOBE>true</HideWirelessSetupInOOBE>                <NetworkLocation>Other</NetworkLocation>                <HideOEMRegistrationScreen>true</HideOEMRegistrationScreen>                <ProtectYourPC>1</ProtectYourPC>            </OOBE>            <UserAccounts>                <LocalAccounts>                    <LocalAccount wcm:action="add">                        <Password>                            <Value>UABhAHMAcwB3AG8AcgBkAA==</Value>                            <PlainText>false</PlainText>                        </Password>                        <Name>user</Name>                        <DisplayName>user</DisplayName>                        <Group>Administrators</Group>                    </LocalAccount>                </LocalAccounts>            </UserAccounts>            <RegisteredOwner>xxx</RegisteredOwner>            <RegisteredOrganization>xxx</RegisteredOrganization>            <TimeZone>Central European Standard Time</TimeZone>        </component>        <component name="Microsoft-Windows-International-Core" processorArchitecture="x86" 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>pl-PL</InputLocale>            <SystemLocale>pl-PL</SystemLocale>            <UILanguage>pl-PL</UILanguage>            <UILanguageFallback>pl-PL</UILanguageFallback>            <UserLocale>pl-PL</UserLocale>        </component>    </settings></unattend>

Please help, the target is to skip it at install time :)

t0mNight you simply need to insert a key been in the exact same situation if you want to activate using the BIOS key input the key in the xml as XXXXX-XXXX this way you are informing it to use the BIOS key i do this on a daily basis and it works.

Link to comment
Share on other sites

  • 7 months later...

Ok, i gave up and registered here for some help. I will post here since it's the same problem.

I have made an Windows 8.1 AIO x86/x64 with:

Windows 8.1 Core N

Windows 8.1 Pro N VL

Windows 8.1 Enterprise N

 

 

If i'm making iso at the installation is asking me on the first time to put the key of the product (don't even know which version). How can i skip it and move forward to the box where i'm having all the versions i want to install ?!

 

This is my auto so far, incomplete without other versions and my x64 versions because i don't know how to put it right:

http://pastebin.com/9sit9tKw

 

 

Thanks in advance.

Link to comment
Share on other sites

In your posted XML, if using this makes the product key prompt appear, then I suggest you remove the InstallFrom object. In my XMLs, I only specify the install key and not the Index name in the install.wim.

 

If you want it to show you all the indexes in the install.wim, do not specify either an InstallFrom or a ProductKey. Then I believe you use the pid.txt to put the installs keys into so that after you manually choose from the image list, it will not ask for a key.

http://technet.microsoft.com/en-us/library/hh824952.aspx

Link to comment
Share on other sites

  • 7 months later...

 

t0mNight you simply need to insert a key been in the exact same situation if you want to activate using the BIOS key input the key in the xml as XXXXX-XXXX this way you are informing it to use the BIOS key i do this on a daily basis and it works.

 

You do not need to input all X's.  The problem you guys are having is that you are trying to "skip" it.  That's not possible.  You need to let the product key process run.  When it runs it will pick up the key in the BIOS.  Specifing for it to never run or to show errors will cause it to error out.  Just leave the Key field blank and tell it to ALWAYS show.  If there's a BIOS key to be found you will never see the CD Key window, it will in fact proceed unattended.

 

<UserData>

    <ProductKey>

        <Key></Key>

        <WillShowUI>Always</WillShowUI>

    </ProductKey>

    <AcceptEula>true</AcceptEula>

</UserData>

Removing ProductKey altogether as the OP has done will also throw out an error.

Link to comment
Share on other sites

  • 1 year later...

I apparently wasn't allowed to share a link so i will just tell you how to do it:

Go to the link mentioned in Kelsenellenelvian's post to get the appropriate generic key and add it to your answer file under 

amd64_Microsoft-Windows-Setup_neutral > UserData > ProductKey

then install windows and download get_win8key.exe (you can google it)

Once installed you can use the get_win8key.exe to find your OEM product key.

If you are installing on a computer that originally came with windows 10 and want to install windows 8.1 then you will need to install "ALL" the windows updates and then use the windows 10 OEM key to activate it (you can get the windows 10 OEM key with get_win8key.exe)

you could also script the process with first logon scripts using this script:

@echo off
setlocal enableextensions
for /f "tokens=*" %%a in (
'get_win8key.exe'
) do (
set myvar=%%a
)
slmgr.vbs //B -ipk %myvar%
slmgr //B -ato
Edited by starvinggeek
removed link
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...