I've attempted to create a Customization Specification for Vista Business Editon SP1 x86 and receive this error in the Guest after deploying and powering on the VM from the template -
"Windows could not parse or process the unattend file for pass (specialize)."
As I understand, sysprep in Vista is loaded with the OS whereas with XP and W2K3 the sysprep files had to be copied up to the VirtualCenter server. I did not copy the Vista Sysprep files to VC in this case.
Here's the unattend.xml from the deployed VM -
<?xml version="1.0" encoding="utf-8" ?>
<PersistAllDeviceInstalls>true</PersistAllDeviceInstalls>
</component>
</settings>
<SkipMachineOOBE>true</SkipMachineOOBE>
<HideEULAPage>true</HideEULAPage>
<SkipUserOOBE>true</SkipUserOOBE>
<ProtectYourPC>1</ProtectYourPC>
</OOBE>
<TimeZone>Mountain Standard Time</TimeZone>
<Value>XXXXXXXX</Value>
<PlainText>true</PlainText>
</AdministratorPassword>
</UserAccounts>
</component>
</settings>
<RegisteredOwner> XXXXX </RegisteredOwner>
<RegisteredOrganization> XXXXX </RegisteredOrganization>
<ProductKey>XXXXX-XXXXX-XXXXXX-XXXXX-XXXXX/ProductKey>
<ComputerName>test</ComputerName>
</component>
<JoinWorkgroup>WORKGROUP</JoinWorkgroup>
</Identification>
</component>
<Path>C:\Sysprep\guestcustutil.exe cleanBootExecute</Path>
<Order>1</Order>
</RunSynchronousCommand>
<Path>C:\Sysprep\guestcustutil.exe domainJoin -d XXXX -da XXXXX -dp XXXXX</Path>
<Order>2</Order>
</RunSynchronousCommand>
+ <RunSynchronousCommand wcm:action="add">
<Path>%SYSTEMROOT%\system32\cmd.exe /Q /c "cd C:\Sysprep && finalizationsetup.bat"</Path>
<Order>3</Order>
</RunSynchronousCommand>
</RunSynchronous>
</component>
</settings>
</unattend>