Author: arkurth
Date: Tue Dec  4 20:36:57 2012
New Revision: 1417161

URL: http://svn.apache.org/viewvc?rev=1417161&view=rev
Log:
VCL-654
Updated Version_6.pm::run_sysprep to support 32-bit versions of Windows.  Added 
missing Unattend.xml setting to add local account.

Modified:
    vcl/trunk/managementnode/lib/VCL/Module/OS/Windows/Version_6.pm

Modified: vcl/trunk/managementnode/lib/VCL/Module/OS/Windows/Version_6.pm
URL: 
http://svn.apache.org/viewvc/vcl/trunk/managementnode/lib/VCL/Module/OS/Windows/Version_6.pm?rev=1417161&r1=1417160&r2=1417161&view=diff
==============================================================================
--- vcl/trunk/managementnode/lib/VCL/Module/OS/Windows/Version_6.pm (original)
+++ vcl/trunk/managementnode/lib/VCL/Module/OS/Windows/Version_6.pm Tue Dec  4 
20:36:57 2012
@@ -1731,21 +1731,24 @@ sub run_sysprep {
                return;
        }
        
+       # Set the processorArchitecture to either amd64 or x86 in the XML 
depending on whether or not the OS is 64-bit
+       my $architecture = $self->is_64_bit() ? 'amd64' : 'x86';
+       
        my $unattend_xml_file_path = "$system32_path/sysprep/Unattend.xml";
        
        my $unattend_xml_contents = <<EOF;
 <?xml version="1.0" encoding="utf-8"?>
 <unattend xmlns="urn:schemas-microsoft-com:unattend">
        <settings pass="generalize">
-               <component name="Microsoft-Windows-PnpSysprep" 
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";>
+               <component name="Microsoft-Windows-PnpSysprep" 
processorArchitecture="$architecture" publicKeyToken="31bf3856ad364e35" 
language="neutral" versionScope="nonSxS" 
xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State"; 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";>
                        
<PersistAllDeviceInstalls>true</PersistAllDeviceInstalls>
                </component>
-               <component name="Microsoft-Windows-Security-SPP" 
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";>
+               <component name="Microsoft-Windows-Security-SPP" 
processorArchitecture="$architecture" publicKeyToken="31bf3856ad364e35" 
language="neutral" versionScope="nonSxS" 
xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State"; 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";>
                        <SkipRearm>1</SkipRearm>
                </component>
        </settings>
        <settings pass="specialize">
-               <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";>
+               <component name="Microsoft-Windows-Shell-Setup" 
processorArchitecture="$architecture" publicKeyToken="31bf3856ad364e35" 
language="neutral" versionScope="nonSxS" 
xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State"; 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";>
                        <Display>
                                <ColorDepth>32</ColorDepth>
                                <DPI>120</DPI>
@@ -1757,7 +1760,7 @@ sub run_sysprep {
                        <TimeZone>$time_zone_name</TimeZone>
                        <ProductKey>$product_key</ProductKey>
                </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";>
+               <component name="Microsoft-Windows-Deployment" 
processorArchitecture="$architecture" 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">
                                        
<Path>C:\\Cygwin\\home\\root\\VCL\\Scripts\\sysprep_cmdlines.cmd &gt; 
C:\\cygwin\\home\\root\\VCL\\Logs\\sysprep_cmdlines.log 2&gt;&amp;1</Path>
@@ -1765,17 +1768,17 @@ sub run_sysprep {
                                </RunSynchronousCommand>
                        </RunSynchronous>
                </component>
-               <component name="Microsoft-Windows-Security-SPP-UX" 
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";>
+               <component name="Microsoft-Windows-Security-SPP-UX" 
processorArchitecture="$architecture" 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-UnattendedJoin" 
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";>
+               <component name="Microsoft-Windows-UnattendedJoin" 
processorArchitecture="$architecture" publicKeyToken="31bf3856ad364e35" 
language="neutral" versionScope="nonSxS" 
xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State"; 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";>
                        <Identification>
                                <JoinWorkgroup>VCL</JoinWorkgroup>
                        </Identification>
                </component>
        </settings>
        <settings pass="auditSystem">
-               <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";>
+               <component name="Microsoft-Windows-PnpCustomizationsNonWinPE" 
processorArchitecture="$architecture" 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:action="add" 
wcm:keyValue="1">
                                        
<Path>C:\\Cygwin\\home\\root\\VCL\\Drivers</Path>
@@ -1784,7 +1787,7 @@ sub run_sysprep {
                </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"; 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";>
+               <component name="Microsoft-Windows-Shell-Setup" 
processorArchitecture="$architecture" publicKeyToken="31bf3856ad364e35" 
language="neutral" versionScope="nonSxS" 
xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State"; 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";>
                        <OOBE>
                                <HideEULAPage>true</HideEULAPage>
                                <NetworkLocation>Work</NetworkLocation>
@@ -1795,9 +1798,21 @@ sub run_sysprep {
                                        <Value>$WINDOWS_ROOT_PASSWORD</Value>
                                        <PlainText>true</PlainText>
                                </AdministratorPassword>
+                               <LocalAccounts>
+                                       <LocalAccount wcm:action="add">
+                                               <Password>
+                                                       
<Value>$WINDOWS_ROOT_PASSWORD</Value>
+                                                       
<PlainText>true</PlainText>
+                                               </Password>
+                                               <Group>Administrators</Group>
+                                               <Name>root</Name>
+                                               <DisplayName>root</DisplayName>
+                                               <Description>VCL root 
account</Description>
+                                       </LocalAccount>
+                               </LocalAccounts>
                        </UserAccounts>
                </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";>
+               <component name="Microsoft-Windows-International-Core" 
processorArchitecture="$architecture" 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>en-US</InputLocale>
                        <SystemLocale>en-US</SystemLocale>
                        <UILanguage>en-US</UILanguage>
@@ -1807,7 +1822,7 @@ sub run_sysprep {
 </unattend>
 EOF
 
-       #notify($ERRORS{'DEBUG'}, 0, "'$unattend_xml_file_path' 
contents:\n$unattend_xml_contents");
+       notify($ERRORS{'DEBUG'}, 0, "'$unattend_xml_file_path' 
contents:\n$unattend_xml_contents");
        if (!$self->create_text_file($unattend_xml_file_path, 
$unattend_xml_contents)) {
                return;
        }


Reply via email to