Blame install-script/microsoft.com/windows-unattend-desktop.xml

Packit 92e302
Packit 92e302
<libosinfo version="0.0.1">
Packit 92e302
  
Packit 92e302
     See http://www.gnu.org/licenses/ for a copy of the license text -->
Packit 92e302
  <install-script id="http://microsoft.com/windows/unattend/desktop">
Packit 92e302
    <profile>desktop</profile>
Packit 92e302
    <path-format>dos</path-format>
Packit 92e302
    <product-key-format>$$$$$-$$$$$-$$$$$-$$$$$-$$$$$</product-key-format>
Packit 92e302
    <expected-filename>autounattend.xml</expected-filename>
Packit 92e302
    <can-pre-install-drivers/>
Packit 92e302
    <config>
Packit 92e302
      <param name="admin-password" policy="optional"/>
Packit 92e302
      <param name="hardware-arch" policy="required"/>
Packit 92e302
      <param name="l10n-language" policy="optional" value-map="http://microsoft.com/win/8/l10n-language-reverse"/>
Packit 92e302
      <param name="user-login" policy="optional"/>
Packit 92e302
      <param name="user-password" policy="optional"/>
Packit 92e302
      <param name="user-realname" policy="optional"/>
Packit 92e302
      <param name="hostname" policy="required"/>
Packit 92e302
      <param name="reg-product-key" policy="required"/>
Packit 92e302
      <param name="target-disk" policy="optional"/>
Packit 92e302
      <param name="pre-install-drivers-disk" policy="optional"/>
Packit 92e302
      <param name="pre-install-drivers-location" policy="optional"/>
Packit 92e302
      <param name="script-disk" policy="optional"/>
Packit 92e302
    </config>
Packit 92e302
    <injection-method>cdrom</injection-method>
Packit 92e302
    <injection-method>floppy</injection-method>
Packit 92e302
    <template>
Packit 92e302
      <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
Packit 92e302
        <xsl:output method="xml" indent="yes"/>
Packit 92e302
        <xsl:template name="target-disk">
Packit 92e302
          <xsl:choose>
Packit 92e302
            <xsl:when test="config/target-disk != ''">
Packit 92e302
              <xsl:value-of select="config/target-disk"/>
Packit 92e302
            </xsl:when>
Packit 92e302
            <xsl:otherwise>
Packit 92e302
              <xsl:text>C</xsl:text>
Packit 92e302
            </xsl:otherwise>
Packit 92e302
          </xsl:choose>
Packit 92e302
        </xsl:template>
Packit 92e302
        <xsl:template name="script-disk">
Packit 92e302
          <xsl:choose>
Packit 92e302
            <xsl:when test="config/script-disk != ''">
Packit 92e302
              <xsl:value-of select="config/script-disk"/>
Packit 92e302
            </xsl:when>
Packit 92e302
            <xsl:when test="script/preferred-injection-method = 'cdrom'">
Packit 92e302
              <xsl:text>E</xsl:text>
Packit 92e302
            </xsl:when>
Packit 92e302
            <xsl:otherwise>
Packit 92e302
              <xsl:text>A</xsl:text>
Packit 92e302
            </xsl:otherwise>
Packit 92e302
          </xsl:choose>
Packit 92e302
        </xsl:template>
Packit 92e302
        <xsl:template name="arch">
Packit 92e302
          <xsl:choose>
Packit 92e302
            <xsl:when test="config/hardware-arch = 'x86_64'">
Packit 92e302
              <xsl:text>amd64</xsl:text>
Packit 92e302
            </xsl:when>
Packit 92e302
            <xsl:when test="config/hardware-arch = 'i386'">
Packit 92e302
              <xsl:text>x86</xsl:text>
Packit 92e302
            </xsl:when>
Packit 92e302
            <xsl:otherwise>
Packit 92e302
              <xsl:text>x86</xsl:text>
Packit 92e302
            </xsl:otherwise>
Packit 92e302
          </xsl:choose>
Packit 92e302
        </xsl:template>
Packit 92e302
        <xsl:template name="pre-install-drivers-disk">
Packit 92e302
          <xsl:choose>
Packit 92e302
            <xsl:when test="config/pre-install-drivers-disk != ''">
Packit 92e302
              <xsl:value-of select="config/pre-install-drivers-disk"/>
Packit 92e302
            </xsl:when>
Packit 92e302
            <xsl:when test="script/preferred-injection-method = 'cdrom'">
Packit 92e302
              <xsl:text>E</xsl:text>
Packit 92e302
            </xsl:when>
Packit 92e302
            <xsl:otherwise>
Packit 92e302
              <xsl:text>A</xsl:text>
Packit 92e302
            </xsl:otherwise>
Packit 92e302
          </xsl:choose>
Packit 92e302
        </xsl:template>
Packit 92e302
        <xsl:template name="pre-install-drivers-location">
Packit 92e302
          <xsl:choose>
Packit 92e302
            <xsl:when test="config/pre-install-drivers-location != ''">
Packit 92e302
              <xsl:value-of select="config/pre-install-drivers-location"/>
Packit 92e302
            </xsl:when>
Packit 92e302
            <xsl:otherwise>
Packit 92e302
              <xsl:text>\</xsl:text>
Packit 92e302
            </xsl:otherwise>
Packit 92e302
          </xsl:choose>
Packit 92e302
        </xsl:template>
Packit 92e302
        <xsl:template name="ui-language">
Packit 92e302
          <xsl:choose>
Packit 92e302
            <xsl:when test="config/l10n-language = 'EN-GB'">
Packit 92e302
              <xsl:text>EN-US</xsl:text>
Packit 92e302
            </xsl:when>
Packit 92e302
            <xsl:otherwise>
Packit 92e302
              <xsl:value-of select="config/l10n-language"/>
Packit 92e302
            </xsl:otherwise>
Packit 92e302
          </xsl:choose>
Packit 92e302
        </xsl:template>
Packit 92e302
        <xsl:template match="/install-script-config">
Packit 92e302
          <unattend xmlns="urn:schemas-microsoft-com:unattend">
Packit 92e302
            <settings pass="windowsPE">
Packit 92e302
              <component xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" name="Microsoft-Windows-PnpCustomizationsWinPE" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS">
Packit 92e302
                <xsl:attribute name="processorArchitecture">
Packit 92e302
                  <xsl:call-template name="arch"/>
Packit 92e302
                </xsl:attribute>
Packit 92e302
                <DriverPaths>
Packit 92e302
                  <PathAndCredentials wcm:keyValue="1" wcm:action="add">
Packit 92e302
                    <Path><xsl:call-template name="pre-install-drivers-disk"/>:<xsl:call-template name="pre-install-drivers-location"/></Path>
Packit 92e302
                  </PathAndCredentials>
Packit 92e302
                </DriverPaths>
Packit 92e302
              </component>
Packit 92e302
              <component xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" name="Microsoft-Windows-Setup" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS">
Packit 92e302
                <xsl:attribute name="processorArchitecture">
Packit 92e302
                  <xsl:call-template name="arch"/>
Packit 92e302
                </xsl:attribute>
Packit 92e302
                <DiskConfiguration>
Packit 92e302
                  <WillShowUI>OnError</WillShowUI>
Packit 92e302
                  <Disk>
Packit 92e302
                    <CreatePartitions>
Packit 92e302
                      <CreatePartition>
Packit 92e302
                        <Order>1</Order>
Packit 92e302
                        <Size>1</Size>
Packit 92e302
                        <Type>Primary</Type>
Packit 92e302
                      </CreatePartition>
Packit 92e302
                    </CreatePartitions>
Packit 92e302
                    <DiskID>0</DiskID>
Packit 92e302
                    <WillWipeDisk>true</WillWipeDisk>
Packit 92e302
                    <ModifyPartitions>
Packit 92e302
                      <ModifyPartition>
Packit 92e302
                        <Active>true</Active>
Packit 92e302
                        <Extend>true</Extend>
Packit 92e302
                        <Format>NTFS</Format>
Packit 92e302
                        <Label><xsl:call-template name="target-disk"/> drive</Label>
Packit 92e302
                        <Letter>
Packit 92e302
                          <xsl:call-template name="target-disk"/>
Packit 92e302
                        </Letter>
Packit 92e302
                        <Order>1</Order>
Packit 92e302
                        <PartitionID>1</PartitionID>
Packit 92e302
                      </ModifyPartition>
Packit 92e302
                    </ModifyPartitions>
Packit 92e302
                  </Disk>
Packit 92e302
                </DiskConfiguration>
Packit 92e302
                <ImageInstall>
Packit 92e302
                  <OSImage>
Packit 92e302
                    <InstallTo>
Packit 92e302
                      <DiskID>0</DiskID>
Packit 92e302
                      <PartitionID>1</PartitionID>
Packit 92e302
                    </InstallTo>
Packit 92e302
                    <WillShowUI>OnError</WillShowUI>
Packit 92e302
                  </OSImage>
Packit 92e302
                </ImageInstall>
Packit 92e302
                <UserData>
Packit 92e302
                  <AcceptEula>true</AcceptEula>
Packit 92e302
                  <xsl:choose>
Packit 92e302
                    <xsl:when test="os/version = 6.2 or os/version = 6.3">
Packit 92e302
                      
Packit 92e302
                      <xsl:choose>
Packit 92e302
                        <xsl:when test="count(media/variant) != 0 and (contains(media/variant, 'enterprise') or contains(media/variant, 'professional'))">
Packit 92e302
                          
Packit 92e302
                        </xsl:when>
Packit 92e302
                        <xsl:otherwise>
Packit 92e302
                          <ProductKey>
Packit 92e302
                            <Key>
Packit 92e302
                              <xsl:value-of select="config/reg-product-key"/>
Packit 92e302
                            </Key>
Packit 92e302
                          </ProductKey>
Packit 92e302
                        </xsl:otherwise>
Packit 92e302
                      </xsl:choose>
Packit 92e302
                    </xsl:when>
Packit 92e302
                    <xsl:otherwise>
Packit 92e302
                      <ProductKey>
Packit 92e302
                        <Key>
Packit 92e302
                          <xsl:value-of select="config/reg-product-key"/>
Packit 92e302
                        </Key>
Packit 92e302
                      </ProductKey>
Packit 92e302
                    </xsl:otherwise>
Packit 92e302
                  </xsl:choose>
Packit 92e302
                </UserData>
Packit 92e302
              </component>
Packit 92e302
              <component xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" name="Microsoft-Windows-International-Core-WinPE" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS">
Packit 92e302
                <xsl:attribute name="processorArchitecture">
Packit 92e302
                  <xsl:call-template name="arch"/>
Packit 92e302
                </xsl:attribute>
Packit 92e302
                <SetupUILanguage>
Packit 92e302
                  <xsl:choose>
Packit 92e302
                    <xsl:when test="os/version = 6.1">
Packit 92e302
                      <UILanguage>
Packit 92e302
                        <xsl:call-template name="ui-language"/>
Packit 92e302
                      </UILanguage>
Packit 92e302
                    </xsl:when>
Packit 92e302
                    <xsl:otherwise>
Packit 92e302
                      <UILanguage>
Packit 92e302
                        <xsl:value-of select="config/l10n-language"/>
Packit 92e302
                      </UILanguage>
Packit 92e302
                    </xsl:otherwise>
Packit 92e302
                  </xsl:choose>
Packit 92e302
                </SetupUILanguage>
Packit 92e302
                <SystemLocale>
Packit 92e302
                  <xsl:value-of select="config/l10n-language"/>
Packit 92e302
                </SystemLocale>
Packit 92e302
                <xsl:choose>
Packit 92e302
                  <xsl:when test="os/version = 6.1">
Packit 92e302
                    <UILanguage>
Packit 92e302
                      <xsl:call-template name="ui-language"/>
Packit 92e302
                    </UILanguage>
Packit 92e302
                  </xsl:when>
Packit 92e302
                  <xsl:otherwise>
Packit 92e302
                    <UILanguage>
Packit 92e302
                      <xsl:value-of select="config/l10n-language"/>
Packit 92e302
                    </UILanguage>
Packit 92e302
                  </xsl:otherwise>
Packit 92e302
                </xsl:choose>
Packit 92e302
                <UserLocale>
Packit 92e302
                  <xsl:value-of select="config/l10n-language"/>
Packit 92e302
                </UserLocale>
Packit 92e302
              </component>
Packit 92e302
            </settings>
Packit 92e302
            <xsl:if test="os/version > 6.0">
Packit 92e302
              <settings pass="specialize">
Packit 92e302
                <component xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" name="Microsoft-Windows-Shell-Setup" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS">
Packit 92e302
                  <xsl:attribute name="processorArchitecture">
Packit 92e302
                    <xsl:call-template name="arch"/>
Packit 92e302
                  </xsl:attribute>
Packit 92e302
                  <ComputerName>
Packit 92e302
                    <xsl:value-of select="config/hostname"/>
Packit 92e302
                  </ComputerName>
Packit 92e302
                </component>
Packit 92e302
                <component xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" name="Microsoft-Windows-Deployment" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS">
Packit 92e302
                  <xsl:attribute name="processorArchitecture">
Packit 92e302
                    <xsl:call-template name="arch"/>
Packit 92e302
                  </xsl:attribute>
Packit 92e302
                  <RunSynchronous wcm:action="add">
Packit 92e302
                    <RunSynchronousCommand>
Packit 92e302
                      <Order>1</Order>
Packit 92e302
                      <Path>cmd /C <xsl:call-template name="script-disk"/>:\windows.cmd  ><xsl:call-template name="target-disk"/>:\windows\osinfo.log 2>&1</Path>
Packit 92e302
                      <Description>Post installation setup</Description>
Packit 92e302
                    </RunSynchronousCommand>
Packit 92e302
                  </RunSynchronous>
Packit 92e302
                </component>
Packit 92e302
              </settings>
Packit 92e302
            </xsl:if>
Packit 92e302
            <settings pass="oobeSystem">
Packit 92e302
              <component xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" name="Microsoft-Windows-Shell-Setup" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS">
Packit 92e302
                <xsl:attribute name="processorArchitecture">
Packit 92e302
                  <xsl:call-template name="arch"/>
Packit 92e302
                </xsl:attribute>
Packit 92e302
                <UserAccounts>
Packit 92e302
                  <AdministratorPassword>
Packit 92e302
                    <Value>
Packit 92e302
                      <xsl:value-of select="config/admin-password"/>
Packit 92e302
                    </Value>
Packit 92e302
                    <PlainText>true</PlainText>
Packit 92e302
                  </AdministratorPassword>
Packit 92e302
                  <xsl:if test="count(config/user-login) > 0">
Packit 92e302
                    <LocalAccounts>
Packit 92e302
                      <LocalAccount wcm:action="add">
Packit 92e302
                        <Password>
Packit 92e302
                          <Value>
Packit 92e302
                            <xsl:value-of select="config/user-password"/>
Packit 92e302
                          </Value>
Packit 92e302
                          <PlainText>true</PlainText>
Packit 92e302
                        </Password>
Packit 92e302
                        <Description>
Packit 92e302
                          <xsl:value-of select="config/user-realname"/>
Packit 92e302
                        </Description>
Packit 92e302
                        <DisplayName>
Packit 92e302
                          <xsl:value-of select="config/user-realname"/>
Packit 92e302
                        </DisplayName>
Packit 92e302
                        <Group>Administrators;Power Users</Group>
Packit 92e302
                        <Name>
Packit 92e302
                          <xsl:value-of select="config/user-login"/>
Packit 92e302
                        </Name>
Packit 92e302
                      </LocalAccount>
Packit 92e302
                    </LocalAccounts>
Packit 92e302
                  </xsl:if>
Packit 92e302
                </UserAccounts>
Packit 92e302
                <xsl:if test="count(config/user-login) > 0">
Packit 92e302
                  <AutoLogon>
Packit 92e302
                    <Password>
Packit 92e302
                      <Value>
Packit 92e302
                        <xsl:value-of select="config/user-password"/>
Packit 92e302
                      </Value>
Packit 92e302
                      <PlainText>true</PlainText>
Packit 92e302
                    </Password>
Packit 92e302
                    <Enabled>true</Enabled>
Packit 92e302
                    <LogonCount>5</LogonCount>
Packit 92e302
                    <Username>
Packit 92e302
                      <xsl:value-of select="config/user-login"/>
Packit 92e302
                    </Username>
Packit 92e302
                  </AutoLogon>
Packit 92e302
                </xsl:if>
Packit 92e302
                <OOBE>
Packit 92e302
                  <xsl:if test="os/version > 6.0">
Packit 92e302
                    <NetworkLocation>Work</NetworkLocation>
Packit 92e302
                    <SkipMachineOOBE>true</SkipMachineOOBE>
Packit 92e302
                    <SkipUserOOBE>true</SkipUserOOBE>
Packit 92e302
                  </xsl:if>
Packit 92e302
                  <HideEULAPage>true</HideEULAPage>
Packit 92e302
                  <ProtectYourPC>3</ProtectYourPC>
Packit 92e302
                </OOBE>
Packit 92e302
                <xsl:if test="os/version > 6.0">
Packit 92e302
                  <FirstLogonCommands>
Packit 92e302
                    <SynchronousCommand wcm:action="add">
Packit 92e302
                      <Order>1</Order>
Packit 92e302
                      <Description>Turn Off Network Selection pop-up</Description>
Packit 92e302
                      <CommandLine>cmd /c reg add "HKLM\SYSTEM\CurrentControlSet\Control\Network\NewNetworkWindowOff"</CommandLine>
Packit 92e302
                    </SynchronousCommand>
Packit 92e302
                    <xsl:if test="os/version = 6.3">
Packit 92e302
                      <SynchronousCommand wcm:action="add">
Packit 92e302
                        <Order>2</Order>
Packit 92e302
                        <Description>Force windows activation</Description>
Packit 92e302
                        <CommandLine>cmd /c cscript.exe slmgr.vbs /ipk <xsl:value-of select="config/reg-product-key"/> /ato</CommandLine>
Packit 92e302
                      </SynchronousCommand>
Packit 92e302
                    </xsl:if>
Packit 92e302
                  </FirstLogonCommands>
Packit 92e302
                </xsl:if>
Packit 92e302
              </component>
Packit 92e302
            </settings>
Packit 92e302
            <settings pass="specialize">
Packit 92e302
              <component xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" name="Microsoft-Windows-Shell-Setup" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS">
Packit 92e302
                <xsl:attribute name="processorArchitecture">
Packit 92e302
                  <xsl:call-template name="arch"/>
Packit 92e302
                </xsl:attribute>
Packit 92e302
                <ProductKey>
Packit 92e302
                  <xsl:value-of select="config/reg-product-key"/>
Packit 92e302
                </ProductKey>
Packit 92e302
              </component>
Packit 92e302
            </settings>
Packit 92e302
          </unattend>
Packit 92e302
        </xsl:template>
Packit 92e302
      </xsl:stylesheet>
Packit 92e302
    </template>
Packit 92e302
  </install-script>
Packit 92e302
</libosinfo>