Deploying Vista – Part 27: Automating a Light Touch Installation

by [Published on 26 March 2009 / Last Updated on 26 March 2009]

How to completely automate a Light Touch Installation of Windows Vista using Microsoft Deployment Toolkit 2008.

Readers interested in understanding how to perform image-based unattended installs of Windows Vista using Windows Automated Installation Kit (Windows AIK) tools such as Windows System Image Manager (Windows SIM), the Windows Preinstallation Environment (WinPE), the System Preparation Tool (Sysprep) and ImageX are referred to articles 1 through 13 of my Deploying Vista series here on WindowsNetworking.com.

Readers interested in understanding how to use Windows Deployment Services (Windows DS) for server-based unattended installs of Windows Vista are referred to articles 14 through 23 of my Deploying Vista series.

For more information on using Microsoft Deployment Toolkit for deploying Windows Vista, see the following articles in this series:

Introduction

This series of articles on automating Windows Vista deployment continues by walking through how to completely automate a Light Touch Installation of Windows Vista using Microsoft Deployment Toolkit 2008.

In the previous two articles we saw how to manually perform a Light Touch Installation (LTI) of Windows Vista Enterprise for the New Computer scenario. This present article shows how to completely automate the LTI process for the New Computer scenario.

Understanding Configuration Files

MDT 2008 automates the deployment process by using several different scripts. These scripts in turn are themselves controlled by settings you can define in configuration files. These configuration files are plaintext files that use the INI file format. The configuration files used by MDT are these:

  • CustomSettings.ini – This is the main configuration file used for controlling the scripts that automate the deployment process.
  • BootStrap.ini – This is an additional configuration file that is primarily needed for the New Computer and Replace Computer scenarios to ensure the target computer can connect to your deployment point in order to begin the deployment process.

Let us examine what these two configuration files look like in the lab environment we used in the previous three articles. Begin by opening the Deployment Workbench and expanding the Deploy node to display the Deployment Points node beneath it. Then right-click on the LAB deployment point we created previously and select Properties (see Figure 1):


Figure 1: Displaying the properties of a deployment point

In the LAB Properties dialog that opens, select the Rules tab (Figure 2):


Figure 2: Rules tab shows contents of CustomSettings.ini file

The Rules tab displays the contents of the CustomSettings.ini configuration file for that deployment point. You can also view this information by opening Windows Explorer and browsing to the M:\Distribution\Control folder and double-clicking on the CustomSettings.ini file to open it in Notepad. You can see that this file has the standard INI format with sections defined by square brackets (e.g. [Settings]) and name/value pairs in each section (e.g. Priority=Default).

To view the contents of the Bootstrap.ini file, click the Edit Bootstrap.ini button at the bottom right of the Rules tab. Doing this opens the Bootstrap.ini file in Notepad (Figure 3):


Figure 3: Contents of Bootstrap.ini file

Understanding Rules

MDT refers to these name/value pairs on each line of these configuration files as rules. MDT also calls the left-hand side of each rule a property. By adding or removing rules, you can customize how the scripts work that drive the MDT deployment process. These scripts also create and configure additional properties that cannot be specified in configuration files.

Key to being able to customize how MDT deployments work, is knowing what each property does and how to configure it. The best way of becoming familiar with these is to read through the Properties section of the Microsoft Deployment Toolkit Reference found here. This may seem to be dry reading, but it is worthwhile reading it through carefully as you will learn a lot about how to customize LTI deployments.

Automating Light Touch Installation

Let us now look at how we can automate the LTI process for deploying Windows Vista SP1 Enterprise. We are going to use the same environment we set up in the last two articles, so review these articles first if you need to.

Begin by opening the Rules tab shown previously for the LAB deployment point. Select all the text within this tab and delete, then paste the following text into the tab:

[Settings]
Priority=Default
Properties=MyCustomProperty

[Default]
OSInstall=YES

DeployRoot=\\SEA-MDT\Distribution$

SkipAdminPassword=YES
SkipApplications=YES
SkipAppsOnUpgrade=YES
SkipBDDWelcome=YES
SkipBitLocker=YES
SkipBitLockerDetails=YES
SkipTaskSequence=YES
SkipCapture=YES
SkipComputerBackup=YES
SkipComputerName=YES
SkipDeploymentType=YES
SkipDomainMembership=YES
SkipFinalSummary=YES
SkipLocaleSelection=YES
SkipPackageDisplay=YES
SkipProductKey=YES
SkipSummary=YES
SkipTaskSequence=YES
SkipTimeZone=YES
SkipUserData=YES

UserID=jchen
UserDomain=CONTOSO
UserPassword=Pa$$w0rd
KeyboardLocale=en-US

DeploymentType=NEWCOMPUTER

 

TaskSequenceID=TEST-001

UILanguage=en-US
UserLocale=en-US
SkipTimeZone=Yes
TimeZoneName=Central Standard Time

JoinDomain=CONTOSO
DomainAdmin=Administrator
DomainAdminDomain=CONTOSO
DomainAdminPassword=Pa$$w0rd

The Rules tab should now look something like this (Figure 4):


Figure 4: CustomSettings.ini file used for automating LTI

We will examine what these various rules do in a moment. But first, click Apply to save the changes to your CustomSettings.ini file.

Now continue by opening your Bootstrap.ini file in Notepad and changing the contents to look like this (Figure 5):


Figure 5: Bootstrap.ini file used for automating LTI

Once again, we will discuss what these rules mean in a moment. But first, select File, then Save to save the changes to your Bootstrap.ini file, then close Notepad and click OK to close the LAB Properties dialog.

Now, in your Deployment Workbench, right-click on your LAB deployment point and select Update (Figure 6):


Figure 6: Updating the deployment point

Updating a deployment point does two things:

  • Updates your configuration files and associated scripts with the changes you have made.
  • Generates new Light Touch Windows PE boot images (.wim and .iso files) in your distribution share.

Note:
If you have not made any changes to the DeployRoot property or to the credentials (UserID, UserDomain, UserPassword) then you can select Update (Files Only) instead of Update. Doing this updates your configuration files and scripts, but does not generate new WinPE boot images. Either way, you must update your deployment point whenever you make changes to your configuration files.

Performing the Installation

You have made the appropriate changes to your configuration files and you have also updated your deployment point. If you generated new WinPE boot images, you need to use these to initiate your deployment, so either burn the .iso file to a CD and boot your target computer using this CD, or add the .wim file to the Boot Images folder of your Windows Deployment Services server if you are using that approach—see the previous two articles in this series for details.

Once you boot your bare-metal target computer, either by inserting the WinPE boot CD or by PXE-booting it from your Windows DS server, the LTI deployment process will begin, only instead of seeing this screen which you saw in the previous article (Figure 7):


Figure 7: The Windows Deployment wizard will NOT be displayed!

which was followed by a number of wizard screens where you had to provide input, this time the wizard will be skipped entirely and you'll see this screen instead (Figure 8):


Figure 8: This is what you will see when you automate the LTI process

In other words, the install begins automatically with no user prompts required, and after a couple of reboots you'll be logged on automatically to Vista using the default Administrator account. You can then log off as Administrator and log on as a domain user to verify that the computer has been successfully joined to your domain. You have just successfully performed a completely automated LTI deployment of Vista Enterprise.

Understanding the Bootstrap.ini File

In order to perform a completely automated LTI deployment for the New Computer scenario from a Lab deployment point, your Bootstrap.ini file must look something like this (I have inserted comments prefixed by semicolons each rule or set of rules for explanatory purposes):

[Settings]
Priority=Default

[Default]
DeployRoot=\\SEA-MDT\Distribution$
; REQUIRED—Specify the deployment point you wish to connect the target computer to.

UserID=jchen
UserDomain=CONTOSO
UserPassword=Pa$$w0rd
; REQUIRED—Specify domain user credentials for connecting to the deployment point.
; Note that the password is unencrypted so be sure to safeguard this file!

KeyboardLocale=en-US
; REQUIRED—Specify your keyboard locale setting.

SkipBDDWelcome=YES
; REQUIRED—This rule causes the Welcome page of the wizard to be skipped.

Understanding the CustomSettings.ini File

In order to perform a completely automated LTI deployment for the New Computer scenario from a Lab deployment point, your CustomSettings.ini file should look something like this (once again I've inserted comments after each rule or set of rules for explanatory purposes):

[Settings]
Priority=Default
Properties=MyCustomProperty

[Default]
OSInstall=YES
; Authorizes deploying an OS onto the target computer.

DeployRoot=\\SEA-MDT\Distribution$
; REQUIRED—See previous section above.

SkipAdminPassword=YES
SkipApplications=YES
SkipAppsOnUpgrade=YES
SkipBDDWelcome=YES
SkipBitLocker=YES
SkipBitLockerDetails=YES
SkipTaskSequence=YES
SkipCapture=YES
SkipComputerBackup=YES
SkipComputerName=YES
SkipDeploymentType=YES
SkipDomainMembership=YES
SkipFinalSummary=YES
SkipLocaleSelection=YES
SkipPackageDisplay=YES
SkipProductKey=YES
SkipSummary=YES
SkipTaskSequence=YES
SkipTimeZone=YES
SkipUserData=YES

; REQUIRED—These rules prevent various pages of the Windows Deployment wizard from being displayed.

UserID=jchen
UserDomain=CONTOSO
UserPassword=Pa$$w0rd
; REQUIRED—See previous section above.

KeyboardLocale=en-US
; REQUIRED—See previous section above.

DeploymentType=NEWCOMPUTER
; Specifies that the New Computer deployment scenario is being performed.

TaskSequenceID=TEST-001
; This rule idenfies the task sequence being used to perform the deployment.

UILanguage=en-US
UserLocale=en-US
SkipTimeZone=Yes
TimeZoneName=Central Standard Time
; These rules are pretty self-explanatory.

JoinDomain=CONTOSO
DomainAdmin=Administrator
DomainAdminDomain=CONTOSO
DomainAdminPassword=Pa$$w0rd
; These rules join the target computer to the domain once the install is finished.

Conclusion

In this article we have seen how to completely automate the LTI process for the New Computer scenario when using MDT 2008 to deploy Windows Vista SP1 Enterprise onto bare-metal hardware. The next few articles of this series will dig deeper into how to customize various aspects of MDT deployments.

Readers interested in understanding how to perform image-based unattended installs of Windows Vista using Windows Automated Installation Kit (Windows AIK) tools such as Windows System Image Manager (Windows SIM), the Windows Preinstallation Environment (WinPE), the System Preparation Tool (Sysprep) and ImageX are referred to articles 1 through 13 of my Deploying Vista series here on WindowsNetworking.com.

Readers interested in understanding how to use Windows Deployment Services (Windows DS) for server-based unattended installs of Windows Vista are referred to articles 14 through 23 of my Deploying Vista series.

For more information on using Microsoft Deployment Toolkit for deploying Windows Vista, see the following articles in this series:

Featured Links