From: "Zeeshan Ali (Khattak)" <zeeshanak@xxxxxxxxx> Using the desktop profile, I was able to do an express installation against GNOME Boxes. I'm adding a seperate script for windows 8 rather than re-using the existing unattended.xml we have for windows 7 because windows 8 requires product key to be specified while it remains option for windows 7. --- data/install-scripts/Makefile.am | 1 + data/install-scripts/windows-8-unattend.xml | 453 ++++++++++++++++++++++++++++ data/oses/windows.xml.in | 3 +- 3 files changed, 456 insertions(+), 1 deletion(-) create mode 100644 data/install-scripts/windows-8-unattend.xml diff --git a/data/install-scripts/Makefile.am b/data/install-scripts/Makefile.am index cb24e09..29715d2 100644 --- a/data/install-scripts/Makefile.am +++ b/data/install-scripts/Makefile.am @@ -6,6 +6,7 @@ database_DATA = \ windows-cmd.xml \ windows-reg.xml \ windows-unattend.xml \ + windows-8-unattend.xml \ $(NULL) EXTRA_DIST = $(database_DATA) diff --git a/data/install-scripts/windows-8-unattend.xml b/data/install-scripts/windows-8-unattend.xml new file mode 100644 index 0000000..9e5afbc --- /dev/null +++ b/data/install-scripts/windows-8-unattend.xml @@ -0,0 +1,453 @@ +<libosinfo version="0.0.1"> + <install-script id='http://microsoft.com/windows/8/unattend/jeos'> + <profile>jeos</profile> + <path-format>dos</path-format> + <product-key-format>$$$$$-$$$$$-$$$$$-$$$$$-$$$$$</product-key-format> + <expected-filename>autounattend.xml</expected-filename> + <can-pre-install-drivers>true</can-pre-install-drivers> + <config> + <param name="admin-password" policy="optional"/> + <param name="hardware-arch" policy="optional"/> + <param name="l10n-language" policy="optional"/> + <param name="user-login" policy="optional"/> + <param name="user-password" policy="optional"/> + <param name="user-realname" policy="optional"/> + <param name="reg-product-key" policy="required"/> + <param name="target-disk" policy="optional"/> + <param name="pre-install-drivers-disk" policy="optional"/> + <param name="pre-install-drivers-location" policy="optional"/> + </config> + <template> + <xsl:stylesheet + xmlns:xsl="http://www.w3.org/1999/XSL/Transform" + version="1.0"> + + <xsl:output method="xml" indent="yes"/> + + <xsl:template name="target-disk"> + <xsl:choose> + <xsl:when test="config/target-disk != ''"> + <xsl:value-of select="config/target-disk"/> + </xsl:when> + <xsl:otherwise> + <xsl:text>C</xsl:text> + </xsl:otherwise> + </xsl:choose> + </xsl:template> + + <xsl:template name="language"> + <xsl:variable name="language"> + <xsl:value-of select="config/l10n-language"/> + </xsl:variable> + <xsl:variable name="formatted-language"> + <xsl:value-of select="translate($language,'_','-')"/> + </xsl:variable> + <xsl:choose> + <xsl:when test="contains($formatted-language,'.')"> + <xsl:value-of select="substring-before($formatted-language,'.')"/> + </xsl:when> + <xsl:otherwise> + <xsl:value-of select="$formatted-language"/> + </xsl:otherwise> + </xsl:choose> + </xsl:template> + + <xsl:template name="arch"> + <xsl:choose> + <xsl:when test="count(config/hardware-arch) > 0"> + <xsl:value-of select="config/hardware-arch"/> + </xsl:when> + <xsl:otherwise> + <xsl:text>x86</xsl:text> + </xsl:otherwise> + </xsl:choose> + </xsl:template> + + <xsl:template name="pre-install-drivers-disk"> + <xsl:choose> + <xsl:when test="config/pre-install-drivers-disk != ''"> + <xsl:value-of select="config/pre-install-drivers-disk"/> + </xsl:when> + <xsl:otherwise> + <xsl:text>A</xsl:text> + </xsl:otherwise> + </xsl:choose> + </xsl:template> + + <xsl:template name="pre-install-drivers-location"> + <xsl:choose> + <xsl:when test="config/pre-install-drivers-location != ''"> + <xsl:value-of select="config/pre-install-drivers-location"/> + </xsl:when> + <xsl:otherwise> + <xsl:text>\</xsl:text> + </xsl:otherwise> + </xsl:choose> + </xsl:template> + + <xsl:template match="/install-script-config"> + <unattend xmlns="urn:schemas-microsoft-com:unattend"> + <settings pass="windowsPE"> + <component name="Microsoft-Windows-PnpCustomizationsWinPE" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> + <xsl:attribute name="processorArchitecture"> + <xsl:call-template name="arch"/> + </xsl:attribute> + <DriverPaths> + <PathAndCredentials wcm:keyValue="1" wcm:action="add"> + <Path><xsl:call-template name="pre-install-drivers-disk"/>:<xsl:call-template name="pre-install-drivers-location"/></Path> + </PathAndCredentials> + </DriverPaths> + </component> + <component name="Microsoft-Windows-Setup" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> + <xsl:attribute name="processorArchitecture"> + <xsl:call-template name="arch"/> + </xsl:attribute> + <DiskConfiguration> + <WillShowUI>OnError</WillShowUI> + <Disk> + <CreatePartitions> + <CreatePartition> + <Order>1</Order> + <Size>1</Size> + <Type>Primary</Type> + </CreatePartition> + </CreatePartitions> + <DiskID>0</DiskID> + <WillWipeDisk>true</WillWipeDisk> + <ModifyPartitions> + <ModifyPartition> + <Active>true</Active> + <Extend>true</Extend> + <Format>NTFS</Format> + <Label><xsl:call-template name="target-disk"/> drive</Label> + <Letter><xsl:call-template name="target-disk"/></Letter> + <Order>1</Order> + <PartitionID>1</PartitionID> + </ModifyPartition> + </ModifyPartitions> + </Disk> + </DiskConfiguration> + <ImageInstall> + <OSImage> + <InstallTo> + <DiskID>0</DiskID> + <PartitionID>1</PartitionID> + </InstallTo> + <WillShowUI>OnError</WillShowUI> + </OSImage> + </ImageInstall> + <UserData> + <AcceptEula>true</AcceptEula> + <ProductKey> + <Key><xsl:value-of select="config/reg-product-key"/></Key> + </ProductKey> + </UserData> + </component> + <component name="Microsoft-Windows-International-Core-WinPE" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> + <xsl:attribute name="processorArchitecture"> + <xsl:call-template name="arch"/> + </xsl:attribute> + <SetupUILanguage> + <UILanguage><xsl:call-template name="language"/></UILanguage> + </SetupUILanguage> + <SystemLocale><xsl:call-template name="language"/></SystemLocale> + <UILanguage><xsl:call-template name="language"/></UILanguage> + <UserLocale><xsl:call-template name="language"/></UserLocale> + </component> + </settings> + <settings pass="oobeSystem"> + <component name="Microsoft-Windows-Shell-Setup" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> + <xsl:attribute name="processorArchitecture"> + <xsl:call-template name="arch"/> + </xsl:attribute> + <UserAccounts> + <AdministratorPassword> + <Value><xsl:value-of select="config/admin-password"/></Value> + <PlainText>true</PlainText> + </AdministratorPassword> + + <xsl:if test="count(config/user-login) > 0"> + <LocalAccounts> + <LocalAccount wcm:action="add"> + <Password> + <Value><xsl:value-of select="config/user-password"/></Value> + <PlainText>false</PlainText> + </Password> + <Name><xsl:value-of select="config/user-login"/></Name> + <DisplayName><xsl:value-of select="config/user-realname"/></DisplayName> + <Group>users</Group> + </LocalAccount> + </LocalAccounts> + </xsl:if> + </UserAccounts> + <xsl:if test="count(config/user-login) > 0"> + <AutoLogon> + <Password> + <Value><xsl:value-of select="config/user-password"/></Value> + <PlainText>true</PlainText> + </Password> + <Enabled>true</Enabled> + <LogonCount>5</LogonCount> + <Username><xsl:value-of select="config/user-login"/></Username> + </AutoLogon> + </xsl:if> + <OOBE> + <NetworkLocation>Work</NetworkLocation> + <HideEULAPage>true</HideEULAPage> + <ProtectYourPC>3</ProtectYourPC> + <SkipMachineOOBE>true</SkipMachineOOBE> + <SkipUserOOBE>true</SkipUserOOBE> + </OOBE> + <FirstLogonCommands> + <SynchronousCommand wcm:action="add"> + <Order>1</Order> + <Description>Turn Off Network Selection pop-up</Description> + <CommandLine>cmd /c reg add "HKLM\SYSTEM\CurrentControlSet\Control\Network\NewNetworkWindowOff"</CommandLine> + </SynchronousCommand> + <SynchronousCommand wcm:action="add"> + <Order>2</Order> + <Description>Shutting down Windows</Description> + <CommandLine>cmd /C shutdown /s /t 0</CommandLine> + </SynchronousCommand> + </FirstLogonCommands> + </component> + </settings> + </unattend> + </xsl:template> + </xsl:stylesheet> + </template> + </install-script> + + <!-- DESKTOP PROFILE --> + <install-script id='http://microsoft.com/windows/8/unattend/desktop'> + <profile>desktop</profile> + <path-format>dos</path-format> + <product-key-format>$$$$$-$$$$$-$$$$$-$$$$$-$$$$$</product-key-format> + <expected-filename>autounattend.xml</expected-filename> + <can-pre-install-drivers>true</can-pre-install-drivers> + <config> + <param name="admin-password" policy="optional"/> + <param name="hardware-arch" policy="required"/> + <param name="l10n-language" policy="optional"/> + <param name="user-login" policy="optional"/> + <param name="user-password" policy="optional"/> + <param name="user-realname" policy="optional"/> + <param name="hostname" policy="required"/> + <param name="reg-product-key" policy="required"/> + <param name="target-disk" policy="optional"/> + <param name="pre-install-drivers-disk" policy="optional"/> + <param name="pre-install-drivers-location" policy="optional"/> + </config> + <template> + <xsl:stylesheet + xmlns:xsl="http://www.w3.org/1999/XSL/Transform" + version="1.0"> + + <xsl:output method="xml" indent="yes"/> + + <xsl:template name="target-disk"> + <xsl:choose> + <xsl:when test="config/target-disk != ''"> + <xsl:value-of select="config/target-disk"/> + </xsl:when> + <xsl:otherwise> + <xsl:text>C</xsl:text> + </xsl:otherwise> + </xsl:choose> + </xsl:template> + + <xsl:template name="language"> + <xsl:variable name="language"> + <xsl:value-of select="config/l10n-language"/> + </xsl:variable> + <xsl:variable name="formatted-language"> + <xsl:value-of select="translate($language,'_','-')"/> + </xsl:variable> + <xsl:choose> + <xsl:when test="contains($formatted-language,'.')"> + <xsl:value-of select="substring-before($formatted-language,'.')"/> + </xsl:when> + <xsl:otherwise> + <xsl:value-of select="$formatted-language"/> + </xsl:otherwise> + </xsl:choose> + </xsl:template> + + <xsl:template name="arch"> + <xsl:choose> + <xsl:when test="config/hardware-arch = 'x86_64'"> + <xsl:text>amd64</xsl:text> + </xsl:when> + <xsl:when test="config/hardware-arch = 'i386'"> + <xsl:text>x86</xsl:text> + </xsl:when> + <xsl:otherwise> + <xsl:text>x86</xsl:text> + </xsl:otherwise> + </xsl:choose> + </xsl:template> + + <xsl:template name="pre-install-drivers-disk"> + <xsl:choose> + <xsl:when test="config/pre-install-drivers-disk != ''"> + <xsl:value-of select="config/pre-install-drivers-disk"/> + </xsl:when> + <xsl:otherwise> + <xsl:text>A</xsl:text> + </xsl:otherwise> + </xsl:choose> + </xsl:template> + + <xsl:template name="pre-install-drivers-location"> + <xsl:choose> + <xsl:when test="config/pre-install-drivers-location != ''"> + <xsl:value-of select="config/pre-install-drivers-location"/> + </xsl:when> + <xsl:otherwise> + <xsl:text>\</xsl:text> + </xsl:otherwise> + </xsl:choose> + </xsl:template> + + <xsl:template match="/install-script-config"> + <unattend xmlns="urn:schemas-microsoft-com:unattend"> + <settings pass="windowsPE"> + <component name="Microsoft-Windows-PnpCustomizationsWinPE" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> + <xsl:attribute name="processorArchitecture"> + <xsl:call-template name="arch"/> + </xsl:attribute> + <DriverPaths> + <PathAndCredentials wcm:keyValue="1" wcm:action="add"> + <Path><xsl:call-template name="pre-install-drivers-disk"/>:<xsl:call-template name="pre-install-drivers-location"/></Path> + </PathAndCredentials> + </DriverPaths> + </component> + <component name="Microsoft-Windows-Setup" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> + <xsl:attribute name="processorArchitecture"> + <xsl:call-template name="arch"/> + </xsl:attribute> + <DiskConfiguration> + <WillShowUI>OnError</WillShowUI> + <Disk> + <CreatePartitions> + <CreatePartition> + <Order>1</Order> + <Size>1</Size> + <Type>Primary</Type> + </CreatePartition> + </CreatePartitions> + <DiskID>0</DiskID> + <WillWipeDisk>true</WillWipeDisk> + <ModifyPartitions> + <ModifyPartition> + <Active>true</Active> + <Extend>true</Extend> + <Format>NTFS</Format> + <Label><xsl:call-template name="target-disk"/> drive</Label> + <Letter><xsl:call-template name="target-disk"/></Letter> + <Order>1</Order> + <PartitionID>1</PartitionID> + </ModifyPartition> + </ModifyPartitions> + </Disk> + </DiskConfiguration> + <ImageInstall> + <OSImage> + <InstallTo> + <DiskID>0</DiskID> + <PartitionID>1</PartitionID> + </InstallTo> + <WillShowUI>OnError</WillShowUI> + </OSImage> + </ImageInstall> + <UserData> + <AcceptEula>true</AcceptEula> + <ProductKey> + <Key><xsl:value-of select="config/reg-product-key"/></Key> + </ProductKey> + </UserData> + </component> + <component name="Microsoft-Windows-International-Core-WinPE" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> + <xsl:attribute name="processorArchitecture"> + <xsl:call-template name="arch"/> + </xsl:attribute> + <SetupUILanguage> + <UILanguage><xsl:call-template name="language"/></UILanguage> + </SetupUILanguage> + <SystemLocale><xsl:call-template name="language"/></SystemLocale> + <UILanguage><xsl:call-template name="language"/></UILanguage> + <UserLocale><xsl:call-template name="language"/></UserLocale> + </component> + </settings> + <xsl:if test="os/version > 6.0"> + <settings pass="specialize"> + <component name="Microsoft-Windows-Shell-Setup" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> + <xsl:attribute name="processorArchitecture"> + <xsl:call-template name="arch"/> + </xsl:attribute> + <ComputerName><xsl:value-of select="config/hostname"/></ComputerName> + </component> + </settings> + </xsl:if> + <settings pass="oobeSystem"> + <component name="Microsoft-Windows-Shell-Setup" processorArchitecture="BOXES_CPU" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> + <xsl:attribute name="processorArchitecture"> + <xsl:call-template name="arch"/> + </xsl:attribute> + <UserAccounts> + <AdministratorPassword> + <Value><xsl:value-of select="config/admin-password"/></Value> + <PlainText>true</PlainText> + </AdministratorPassword> + <xsl:if test="count(config/user-login) > 0"> + <LocalAccounts> + <LocalAccount wcm:action="add"> + <Password> + <Value><xsl:value-of select="config/user-password"/></Value> + <PlainText>true</PlainText> + </Password> + <Description><xsl:value-of select="config/user-realname"/></Description> + <DisplayName><xsl:value-of select="config/user-realname"/></DisplayName> + <Group>Administrators;Power Users</Group> + <Name><xsl:value-of select="config/user-login"/></Name> + </LocalAccount> + </LocalAccounts> + </xsl:if> + </UserAccounts> + <xsl:if test="count(config/user-login) > 0"> + <AutoLogon> + <Password> + <Value><xsl:value-of select="config/user-password"/></Value> + <PlainText>true</PlainText> + </Password> + <Enabled>true</Enabled> + <LogonCount>5</LogonCount> + <Username><xsl:value-of select="config/user-login"/></Username> + </AutoLogon> + </xsl:if> + <OOBE> + <xsl:if test="os/version > 6.0"> + <NetworkLocation>Work</NetworkLocation> + <SkipMachineOOBE>true</SkipMachineOOBE> + <SkipUserOOBE>true</SkipUserOOBE> + </xsl:if> + <HideEULAPage>true</HideEULAPage> + <ProtectYourPC>3</ProtectYourPC> + </OOBE> + <xsl:if test="os/version > 6.0"> + <FirstLogonCommands> + <SynchronousCommand wcm:action="add"> + <Order>1</Order> + <Description>Turn Off Network Selection pop-up</Description> + <CommandLine>cmd /c reg add "HKLM\SYSTEM\CurrentControlSet\Control\Network\NewNetworkWindowOff"</CommandLine> + </SynchronousCommand> + </FirstLogonCommands> + </xsl:if> + </component> + </settings> + </unattend> + </xsl:template> + </xsl:stylesheet> + </template> + </install-script> +</libosinfo> diff --git a/data/oses/windows.xml.in b/data/oses/windows.xml.in index 310de62..364fcaa 100644 --- a/data/oses/windows.xml.in +++ b/data/oses/windows.xml.in @@ -822,7 +822,8 @@ </devices> <installer> - <script id='http://microsoft.com/windows/unattend'/> + <script id='http://microsoft.com/windows/8/unattend/jeos'/> + <script id='http://microsoft.com/windows/8/unattend/desktop'/> </installer> </os> -- 1.8.0.2 _______________________________________________ Libosinfo mailing list Libosinfo@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libosinfo