To work around this problem, administrators can manually add Service Pack 2 support to the Microsoft Deployment Toolkit by updating the ZTISupportedPlatforms.xml and DeployWiz_Initialization.vbs files.
Supported platforms fix
To add support for Windows Vista SP2 and for Windows Server 2008 SP2 in the
Supported Platforms list, add the following entries to the ZTISupportedPlatforms.xml file:
<SupportedPlatform name="x86 Windows Vista Service Pack 2">
<Expression><![CDATA[SELECT * FROM Win32_OperatingSystem WHERE Version like '6.0%' AND OSType=18 AND ServicePackMajorVersion = 2 AND ProductType=1]]></Expression>
<Expression><![CDATA[SELECT * FROM Win32_OperatingSystem WHERE OSArchitecture like '32%']]></Expression>
</SupportedPlatform>
<SupportedPlatform name="x64 Windows Vista Service Pack 2">
<Expression><![CDATA[SELECT * FROM Win32_OperatingSystem WHERE Version like '6.0%' AND OSType=18 AND ServicePackMajorVersion = 2 AND ProductType=1]]></Expression>
<Expression><![CDATA[SELECT * FROM Win32_OperatingSystem WHERE OSArchitecture like '64%']]></Expression>
</SupportedPlatform>
<SupportedPlatform name="x86 Windows Server 2008 Service Pack 2">
<Expression><![CDATA[SELECT * FROM Win32_OperatingSystem WHERE Version like '6.0%' AND OSType=18 AND ServicePackMajorVersion = 2 AND ProductType>1]]></Expression>
<Expression><![CDATA[SELECT * FROM Win32_OperatingSystem WHERE OSArchitecture like '32%']]></Expression>
</SupportedPlatform>
<SupportedPlatform name="x64 Windows Server 2008 Service Pack 2">
<Expression><![CDATA[SELECT * FROM Win32_OperatingSystem WHERE Version like '6.0%' AND OSType=18 AND ServicePackMajorVersion = 2 AND ProductType>1]]></Expression>
<Expression><![CDATA[SELECT * FROM Win32_OperatingSystem WHERE OSArchitecture like '64%']]></Expression>
</SupportedPlatform>
Notice that the ZTISupportedPlatforms.xml file may exist in multiple locations. For example, if you installed Microsoft Deployment Toolkit 2008 Update 1 in the C:\program Files\Microsoft Deployment Toolkit directory, and you created a Lab deployment share in the C:\distribution directory, you might find that the file is also located in the following directories:
C:\Distribution\Scripts\ZTISupportedPlatforms.xml
C:\Program Files\Microsoft Deployment Toolkit\Scripts\ZTISupportedPlatforms.xml
C:\Program Files\Microsoft Deployment Toolkit\Templates\Distribution\Scripts\ZTISupportedPlatforms.xml
Language pack handling
To add support for Windows Vista SP2 and Windows Server 2008 SP2 language packs, manually edit the DeployWiz_Initialization.vbs file, and then replace the existing
ConstructLPQuery() function with the following text:
Function ConstructLPQuery ( isLangPack )
Dim Keyword
Dim isServer
Dim ImgBuild
Dim SPVersion
Dim LPQuery
Dim LPVersion
Dim i
isServer = inStr(1,oEnvironment.Item("ImageFlags"),"SERVER",vbTextCompare) <> 0
ImgBuild = oEnvironment.Item("ImageBuild")
If not isLangPack then
LPQuery = "Type != 'LanguagePack' and (ProductVersion = '" & ImgBuild & "' or ProductVersion = '') "
ElseIf isServer and left(ImgBuild,4) = "6.0." then
' All Windows Vista Language Packs use Product Version 6.0.6001.18000.
LPQuery = "Type = 'LanguagePack' and Name = 'Microsoft-Windows-Server-LanguagePack-Package' and ProductVersion = '6.0.6001.18000' "
ElseIf left(ImgBuild,4) = "6.0." then
' All Windows Server 2008 Language Packs use Product Version 6.0.6000.16386.
LPQuery = "Type = 'LanguagePack' and Name = 'Microsoft-Windows-Client-LanguagePack-Package' and ProductVersion = '6.0.6000.16386' "
ElseIf isServer then
LPQuery = "Type = 'LanguagePack' and Name = 'Microsoft-Windows-Server-LanguagePack-Package' and ProductVersion = '" & ImgBuild & "' "
Else
LPQuery = "Type = 'LanguagePack' and Name = 'Microsoft-Windows-Client-LanguagePack-Package' and ProductVersion = '" & ImgBuild & "' "
End if
If left(ImgBuild,4) = "6.0." then
LPVersion = Mid(ImgBuild,8,1)
If IsNumeric(LPVersion) and LPVersion > 0 then
' Exclude all Language Packs that are less than the Current OS.
LPQuery = LPQuery & " and Keyword != 'Language Pack'"
For i = 2 to LPVersion
LPQuery = LPQuery & " and Keyword != 'SP" & (LPVersion - 1) & " Language Pack'"
Next
End if
ElseIf IsServer then
' Windows Server 2008 R2 Beta 1 uses SP1.
LPQuery = LPQuery & " and (Keyword = 'Language Pack' or Keyword = 'SP1 Language Pack' )"
Else
' Windows 7 defined as RTM.
LPQuery = LPQuery & " and (Keyword = 'Language Pack')"
End if
If UCase(oEnvironment.Item("ImageProcessor")) = "X64" then
LPQuery = "//packages/package[ProcessorArchitecture = 'amd64' and " & LPQuery & "]"
Else
LPQuery = "//packages/package[ProcessorArchitecture = 'x86' and " & LPQuery & "]"
End if
oLogging.CreateEntry vbTab & "QUERY: " & LPQuery, LogTypeInfo
ConstructLPQuery = LPQuery
End function
Notice that the DeployWiz_Initialization.vbs file may exist in multiple locations. For example, if you installed Microsoft Deployment Toolkit 2008 Update 1 in the C:\program Files\Microsoft Deployment Toolkit directory, and you created a Lab deployment share in the C:\distribution directory, you might find that the file is also located in the following directories:
C:\Distribution\Scripts\DeployWiz_Initialization.vbs
C:\Program Files\Microsoft Deployment Toolkit\Templates\Distribution\Scripts\DeployWiz_Initialization.vbs