Task Sequences – Explained

January 31, 2008

From who cames from Windows XP unattended installations, the new Vista deployment features mais seem a little strange, confusing and scary! That happened to me…
But, that was before having some readiness of the BDD 2007/Microsoft Deployment documents. Now I’m a little less confused.

 One of the first things that made my head go around was the Task Sequencer. I’ve never worked with SMS but who did, told me it was something similar to what we call today Microsoft Deployment tools.

Now, here it’s some info that I’ve extrated from Deployment_Customization_Guide.doc about the task sequences that are set by default when you install MS Deployment:

The Microsoft Deployment process occurs in phases that are defined in the TS.xml file. Task Sequencer parses the TS.xml file to identify the appropriate sequence for performing the deployment process. The phases defined in the TS.xml file include:


Validate Phase
Performs validation checks to make sure that the operating system installation can proceed; specifically blocks installation on server operating systems.

State Capture Phase
Gathers information from the configuration file, databases, and the local machine to determine how the image installation process should proceed, including whether there is enough space to do a local USMT state backup. The scripts also invoke the USMT Scanstate.exe command as appropriate.

Preinstall Phase
Confirms that the necessary information has been gathered in the State Capture Phase for the Refresh Computer and Upgrade Computer scenarios. In the New Computer and Replace Computer scenarios, the script gathers the necessary information in this phase because these scenarios do not perform the State Capture Phase. Also, a backup of the computer can be optionally performed for the Refresh Computer and Upgrade Computer scenarios.

Install Phase
Installs the target operating system on the target computers.

Post Install Phase
Updates the Sysprep.inf file, Sysprep.xml file, or Unattend.txt file with information gathered in the previous custom actions based on the operating system being deployed.

State Restore Phase
Invokes the USMT Loadstate.exe command to restore the user state that was previously backed up.



ShowMediaCenter may cause problems

January 18, 2008

Some time ago a problem appeared on my unattended Windows Vista installation that caused some headaches.

The error was:

Windows could not parse or process unattend answer file [C:\Windows\Panther\unattend.xml] for pass [oobeSystem]. The setttings specified in the answer file cannot be applied. The error was detected while processing settings for component [Microsoft-Windows-Shell-Setup]

After some research I’ve realized that the problem was an option called ShowMediaCenter (that stands for showing or not showing the Windows Media Center icon on the Start Menu) that I’ve changed to False.
Because my Windows Vista is the Enterprise Version (and so, doesn’t have Media Center), this was causing an error on the answer file.

So…if your Windows Vista version is not Home Premium or Ultimate, you should not configure this setting with no value.

By the way, you can find this setting using Windows System Image Manager (WSIM) under:

- Unattend -> 4 specialize -> x86_Microsoft-Windows-Shell-Setup_neutral -> WindowsFeatures


Locale Settings (inc. KeyboardLocale) – Finally Resolved

January 18, 2008

I’ve had some issues trying to set the locale properties properly.

When tried to set the KeyboardLocale=pt-PT it allways set it it English (US).
After some reading and tips I finally manage to overcome that issue. I’ve found the solution on a great blog from Ben Hunter (http://blogs.technet.com/benhunter/archive/2007/04/09/bdd-2007-tips-and-tricks-multiple-keyboard-locales.aspx) a Microsoft Consultant.

So, here’s the solution:

To solve this problem, update the KeyboardLocale line in the ZTIGather.xml file to set allow overwrites to true.

<property id=”KeyboardLocale” type=”string” overwrite=”true” description=”Locale used for Keyboard, can be either 0409:00000409 or en-US format (default is OS Default)” />

You then need to make sure that you skip the locale selection screen, otherwise it will override any values specified in the

customsettings.ini. Here is an example of the rules you will need to skip this screen:

     SkipLocaleSelection = YES

     UserLocale = en-NZ

     SystemLocale = en-NZ

     UIlanguage = en-US

     KeyboardLocale = 0413:00020409;0413:00000409;0409:00020409;0409:00000409;1409:00001409

When making this change you need to be aware of its effects. This will cause the last value gathered during rule processing to be the one used. So for example if you specify a KeyboardLacale in the database and it is also specified in the Default section then the last section processed will win(normally the first section will win), which usually means the values in the default section will win.  

Source: Ben Hunter’s Blog

This also works good for other Locale settings as SystemLocale.

By the way…for portuguese locale settings the code is pt-PT.


CustomSettings.ini References

January 17, 2008

CustomSettings.ini it’s a new file that can be used to customize the Windows Vista deployment using WDS (I believe SMS too).

This file and the file bootstrap.ini are very useful to skip some of Windows Deployment Wizards. Here it’s the Properties Reference website from Microsoft.

http://technet.microsoft.com/en-us/library/bb490304.aspx

I’ll paste here my “customized” CustomSettings.ini as soon as I finish it.
I’m having a little trouble to change the keyboard layout, but I’ll work that tomorrow.


Vista Unattended – KB929399-v2 Deployment Issues

January 17, 2008

At my job, we should start to deploy Windows Vista to agencies and central branchs next year, and a lot of work must be done.
The redesigned BDD (now known as Microsoft Depoloyment), the redesigned RIS (now known as Windows Deployment Services(WDS)) and Windows Automatic Installation Kit (WAIK), give a lot of new tools and deployment methods that need some comprehensive reading.

So…last week I started to take a more deep look at the Windows Vista Deployment.
After creating a simple answer file, that by the way has changed name and type (unattend.txt/Unattended.xml), I started looking to the new feature that makes possible to install OS hotfixes (system updates and security updates) in a very simple way.
After making some tests with just a couple of hotifxes, I’ve run Windows Update and Microsoft Baseline Security Analyzer 2.1 on a reference machine and downloaded all the updates. I’ve then applied the hotfixes via Deployment Workbench (WAIK) and started deploying the image using WDS.

On the Install Update Passe I found an error that was killing the unattended installation:

Setup failed applying image \\S-W2K8WDS-V01\Distribution$\OperationSystems\Windows Vista Ent\Sources\install.wim, rc = 31
ZTI ERROR – Non-zero return code by LTIApply, rc = 31
Non-zero return code executing command “X:\Deploy\Tools\X86\TsmBootstrap.exe” /env:SAStartm, rc = -2147467259

This is a very very generic error, with no reference about what has failed in all log files you can fin, and after a while you will feel lost!
In  my case I had applied 39 hotfixes…
So to understand where the error was, I had to start deploying the hotfixes almost one-by-one to figure out where the bad file was.

After a lot of time I’ve found that the hotfix giving the problem was WindowsMedia11-KB929399-v2-x86-INTL.exe(a Windows Media Player 11 SDK Update).

I’ve Googled a little and found this:
http://www.myitforum.com/forums/m_166236/mpage_1/tm.htm#167364

I’ve not tested it yet!