[Libosinfo] [PATCH] Adapt windows-unattend.xml for Windows 8

Zeeshan Ali (Khattak) zeeshanak at gnome.org
Tue Feb 26 16:32:18 UTC 2013


From: "Zeeshan Ali (Khattak)" <zeeshanak at gnome.org>

So that we can reuse the script template for Windows 8.

'InstallFrom' and 'ProductKey' nodes are simply expected in different
locations in the XML by Windows 7 and 8. Unattended installation breaks
for both if these nodes are not where they are supposed to be.
---
 data/install-scripts/windows-unattend.xml | 74 +++++++++++++++++++------------
 1 file changed, 46 insertions(+), 28 deletions(-)

diff --git a/data/install-scripts/windows-unattend.xml b/data/install-scripts/windows-unattend.xml
index d4e1b98..f2269f4 100644
--- a/data/install-scripts/windows-unattend.xml
+++ b/data/install-scripts/windows-unattend.xml
@@ -112,12 +112,14 @@
 		</DiskConfiguration>
 		<ImageInstall>
 		  <OSImage>
-		    <InstallFrom>
-		      <MetaData wcm:action="add">
-			<Key>/IMAGE/INDEX</Key>
-			<Value>1</Value>
-		      </MetaData>
-		    </InstallFrom>
+                    <xsl:if test="os/version < 6.2">
+		      <InstallFrom>
+		        <MetaData wcm:action="add">
+			  <Key>/IMAGE/INDEX</Key>
+			  <Value>1</Value>
+		        </MetaData>
+		      </InstallFrom>
+                    </xsl:if>
 		    <InstallTo>
 		      <DiskID>0</DiskID>
 		      <PartitionID>1</PartitionID>
@@ -127,6 +129,11 @@
 		</ImageInstall>
 		<UserData>
 		  <AcceptEula>true</AcceptEula>
+                  <xsl:if test="os/version > 6.1">
+                    <ProductKey>
+                      <Key><xsl:value-of select="config/reg-product-key"/></Key>
+                    </ProductKey>
+                  </xsl:if>
 		</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">
@@ -198,15 +205,17 @@
 		</FirstLogonCommands>
 	      </component>
 	    </settings>
-	    <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>
+            <xsl:if test="os/version < 6.2">
+	      <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>
 
-		<ProductKey><xsl:value-of select="config/reg-product-key"/></ProductKey>
-	      </component>
-	    </settings>
+		  <ProductKey><xsl:value-of select="config/reg-product-key"/></ProductKey>
+	        </component>
+	      </settings>
+            </xsl:if>
 	  </unattend>
 	</xsl:template>
       </xsl:stylesheet>
@@ -331,12 +340,14 @@
          </DiskConfiguration>
          <ImageInstall>
           <OSImage>
-           <InstallFrom>
-            <MetaData wcm:action="add">
-             <Key>/IMAGE/INDEX</Key>
-             <Value>1</Value>
-            </MetaData>
-           </InstallFrom>
+           <xsl:if test="os/version < 6.2">
+            <InstallFrom>
+             <MetaData wcm:action="add">
+              <Key>/IMAGE/INDEX</Key>
+              <Value>1</Value>
+             </MetaData>
+            </InstallFrom>
+           </xsl:if>
            <InstallTo>
             <DiskID>0</DiskID>
             <PartitionID>1</PartitionID>
@@ -346,6 +357,11 @@
          </ImageInstall>
          <UserData>
           <AcceptEula>true</AcceptEula>
+          <xsl:if test="os/version > 6.1">
+           <ProductKey>
+            <Key><xsl:value-of select="config/reg-product-key"/></Key>
+           </ProductKey>
+          </xsl:if>
          </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">
@@ -426,15 +442,17 @@
          </xsl:if>
         </component>
        </settings>
-       <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>
+       <xsl:if test="os/version < 6.2">
+        <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>
 
-         <ProductKey><xsl:value-of select="config/reg-product-key"/></ProductKey>
-        </component>
-       </settings>
+          <ProductKey><xsl:value-of select="config/reg-product-key"/></ProductKey>
+         </component>
+        </settings>
+       </xsl:if>
       </unattend>
      </xsl:template>
     </xsl:stylesheet>
-- 
1.8.1.2




More information about the Libosinfo mailing list