How to Perform a Scripted Installation of Windows 7 X86 with Symantec Ghost Solution Suite

How to Perform a Scripted Installation of Windows 7 X86 with Symantec Ghost Solution Suite

How to perform a Scripted installation of Windows 7 x86 with Symantec Ghost Solution Suite

Ghost Solution Suite is one of the industry's mostwidely used imagingand migration solution, howeverone of the features that the product is lacking from his big brother Deployment Solution 6.9 or 7.1, is the possibility to perform a Scripted OS Installation with predefined jobs.

Following this article you will be able to PXE boot up a bare metal machine and kick off a scripted OS installation of Windows 7, simply applying a Task from the Symantec Ghost Console.

For a quick overview of theScripted OS Install vs. Imaging process, you can watch this video on our forum:

Topics Covered:

  1. PXE services configuration
  2. Windows 7 source files with unattend.xml and Ghost client folder setup
  3. Creation of the WinPE "TCP/IP Network Ghost Client Boot Image"
  4. Configuration of the "Software and File Action" task
  5. Scripted OS install Task execution

1)PXE services configuration

a)This article does not include the procedureto create a PXE server to boot WinPE, as it is already documented in many other Knowledge base articles:

How to use the TFTPD32 TFTP Server with Symantec Ghost Solution Suite 2.5 to distribute Windows PE packages via PXE

or

How to use the 3Com Boot Services (and SolarWinds TFTP) with Symantec Ghost Solution Suite 2.5 using WinPE

2)Windows 7 source file with unattend.xml and Ghost client folder setup

a)Create a new folder (i.e. ScriptOS) share it and copy the sources folder from the Windows 7 x86 installation DVD. (Since the Ghost Boot Wizard creates only x86 WinPE you can’t deploy a 64 bit version of Windows, unless you build a 64 bit WinPE and add it to your PXE server).

b)Under the sources folder create a $OEM$ and inside create $1 and $$ folders

c)Under $1 copy the ClientInstall folder from C:\Program Files\Symantec\Ghost\

d)Under the $$ folder create a Setup folder and under Setup create a Scripts folder

e)Go to the Scripts folder and create a text file, copy and paste the following content:

“C:\ClientInstall\client.msi” /qn

f)Save the text file and rename it setupcomplete.cmd

g)Create a new text file, copy and paste the content below and rename it unattend.xml, then copy the answer file in the sources folder. Before using the text below please consider the following points:

  • Make sure to edit and modify the red sections in the answer file according your environment
  • The sample below will format disk 1 and create one System partition of 100 MB, the remaining space of the disk will be used for the Boot partition
  • If you need to customize the answer file or add drivers I recommend to install and use the Windows AIK

<?xml version="1.0" encoding="utf-8"?>
<unattend xmlns="urn:schemas-microsoft-com:unattend">
<servicing</servicing>
<settings pass="specialize">
<component name="Microsoft-Windows-ErrorReportingCore" processorArchitecture="x86" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm=" xmlns:xsi="
<DefaultConsent>4</DefaultConsent>
<DisableWER>1</DisableWER>
</component>
<component name="Microsoft-Windows-UnattendedJoin" processorArchitecture="x86" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm=" xmlns:xsi="
<Identification>
<Credentials>
<Domain>TYPEYOURDOMAINNAME</Domain>
<Password>TYPEYOURPASSWORD</Password>
<Username>TYPEYOURUSERNAME</Username>
</Credentials>
<JoinDomain>TYPEYOURDOMAINNAME</JoinDomain>
</Identification>
</component>
</settings>
<settings pass="oobeSystem">
<component name="Microsoft-Windows-Shell-Setup" processorArchitecture="x86" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm=" xmlns:xsi="
<AutoLogon>
<Password>
<Value>TYPEYOURPASSWORD</Value>
<PlainText>true</PlainText>
</Password>
<Domain>TYPEYOURDOMAINNAME</Domain>
<Enabled>true</Enabled>
<LogonCount>1</LogonCount>
<Username>TYPEYOURUSERNAME</Username>
</AutoLogon>
<UserAccounts>
<AdministratorPassword>
<Value>TYPEYOURADMINPASSWORD</Value>
<PlainText>true</PlainText>
</AdministratorPassword>
</UserAccounts>
<VisualEffects>
<FontSmoothing>ClearType</FontSmoothing>
</VisualEffects>
<OOBE>
<HideEULAPage>true</HideEULAPage>
<HideWirelessSetupInOOBE>true</HideWirelessSetupInOOBE>
<NetworkLocation>Work</NetworkLocation>
<ProtectYourPC>1</ProtectYourPC>
<SkipMachineOOBE>true</SkipMachineOOBE>
<SkipUserOOBE>true</SkipUserOOBE>
</OOBE>
</component>
<component name="Microsoft-Windows-International-Core" processorArchitecture="x86" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm=" xmlns:xsi="
<InputLocale>0409:00000409</InputLocale>
<SystemLocale>en-US</SystemLocale>
<UILanguage>en-US</UILanguage>
<UILanguageFallback>en-US</UILanguageFallback>
<UserLocale>en-US</UserLocale>
</component>
</settings>
<settings pass="windowsPE">
<component name="Microsoft-Windows-International-Core-WinPE" processorArchitecture="x86" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm=" xmlns:xsi="
<SetupUILanguage>
<UILanguage>en-US</UILanguage>
</SetupUILanguage>
<LayeredDriver>1</LayeredDriver>
<SystemLocale>en-US</SystemLocale>
<InputLocale>0409:00000409</InputLocale>
<UILanguage>en-US</UILanguage>
<UILanguageFallback>en-US</UILanguageFallback>
<UserLocale>en-US</UserLocale>
</component>
<component name="Microsoft-Windows-Setup" processorArchitecture="x86" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm=" xmlns:xsi="
<DiskConfiguration>
<Disk wcm:action="add">
<CreatePartitions>
<CreatePartition wcm:action="add">
<Order>2</Order>
<Type>Primary</Type>
<Extend>true</Extend>
</CreatePartition>
<CreatePartition wcm:action="add">
<Order>1</Order>
<Size>100</Size>
<Type>Primary</Type>
</CreatePartition>
</CreatePartitions>
<WillWipeDisk>true</WillWipeDisk>
<DiskID>0</DiskID>
<ModifyPartitions>
<ModifyPartition wcm:action="add">
<Active>false</Active>
<Extend>false</Extend>
<Format>NTFS</Format>
<Order>2</Order>
<PartitionID>2</PartitionID>
<Label>windows</Label>
<Letter>C</Letter>
</ModifyPartition>
<ModifyPartition wcm:action="add">
<Order>1</Order>
<PartitionID>1</PartitionID>
<Active>true</Active>
<Extend>false</Extend>
<Format>NTFS</Format>
<Label>System</Label>
</ModifyPartition>
</ModifyPartitions>
</Disk>
<WillShowUI>OnError</WillShowUI>
</DiskConfiguration>
<UserData>
<ProductKey>
<WillShowUI>OnError</WillShowUI>
<Key>TYPEYOURPRODUCTKEY</Key>
</ProductKey>
<AcceptEula>true</AcceptEula>
<FullName>TYPEYOURNAME</FullName>
<Organization>TYPEYOURORGANIZATIONNAME</Organization>
</UserData>
<ImageInstall>
<OSImage>
<InstallFrom>
<Credentials>
<Domain>TYPEYOURDOMAINNAME</Domain>
<Password>TYPEYOURPASSWORD</Password>
<Username>TYPEYOURUSERNAME</Username>
</Credentials>
<Path>z:\sources\install.wim</Path>
</InstallFrom>
<InstallTo>
<DiskID>0</DiskID>
<PartitionID>2</PartitionID>
</InstallTo>
</OSImage>
</ImageInstall>
</component>
</settings>
<cpi:offlineImage cpi:source="wim://ds/scriptos/sources/install.wim#Windows 7 PROFESSIONAL" xmlns:cpi="urn:schemas-microsoft-com:cpi" />
</unattend>

3)Creation of WinPE "TCP/IP Network Ghost Client Boot Image"

a)From the Ghost Console go to Tools and select Boot Wizard, select Windows PE [Default]

GBW1 jpg

b)Select "TCP/IP Network Ghost Client Boot Image" and click next

GBW2 jpg

c)Click next again

GBW3 jpg

d)Type Username, password and domain/workgroup name and assign a letter to the share you created before in point 2.a. The drive letter must match the letter contained in the unattend.xml file under “install path”

e)Click next

f)Click next

g)Select the location of your TFTPBOOT folder (make sure to complete the PXE configuration as described in the KB article in point 1) Type a name for your boot image and click Next.

h)Click next

4)Configuration of the "Software and File Action" task

a)Open the Ghost Console, go to Tasks, right-click and select New Task.

b)Type a Task Name and check the Software and File Action Task box

c)Click the Software and File Actions tab then click Add.., and select Execute Command

d)Click next and type the following command: z:\sources\setup.exe /unattend:z:\sources\unatten.xml

e)Select Execute command in the Ghost Partition and click Next

f)Check the Wait for the command to finish executing fefore continuing the task box then click Finish

g)Click save and close.

5)Scripted OS install Task execution

a)Now you are ready to PXE boot your client(s).When the Ghost client starts communicating with the Ghost server you should see the client’s MAC appearing in the Ghost Console.

b)Right-click the Task configured on point 4 and Select Execute, on Target Machine Group/Machine click Browse… select your target machine or the folder where your machines are located if you want to run the task on multiple machines.

c)Click OK then Save and Execute

d)Now the Task will kick-off the Setup process on the client machine.

e)The Windows setup will install the Ghost client on the machine and report back to the console when the task is completed