Ajout dela structure MDT dans Infra-LAB
This commit is contained in:
@@ -0,0 +1,230 @@
|
||||
' // ***************************************************************************
|
||||
' //
|
||||
' // Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
' //
|
||||
' // Microsoft Deployment Toolkit Solution Accelerator
|
||||
' //
|
||||
' // File: DeployWiz_LanguagePack.vbs
|
||||
' //
|
||||
' // Version: 6.3.8456.1000
|
||||
' //
|
||||
' // Purpose: Wizard pane for choosing one or more language packs for install
|
||||
' //
|
||||
' // ***************************************************************************
|
||||
|
||||
|
||||
Option Explicit
|
||||
|
||||
|
||||
dim g_oXMLLanguageList
|
||||
|
||||
Function oXMLLanguageList
|
||||
|
||||
If IsEmpty(g_oXMLLanguageList) then
|
||||
Set g_oXMLLanguageList = oUtility.LoadConfigFileSafe( "scripts\ListOfLanguages.xml" )
|
||||
End if
|
||||
Set oXMLLanguageList = g_oXMLLanguageList
|
||||
|
||||
End function
|
||||
|
||||
dim g_oPackageGroup
|
||||
|
||||
''''''''''''''''''''''''''''''''''''''
|
||||
|
||||
|
||||
Function MarkupName(LocaleName)
|
||||
|
||||
Dim oLang, width
|
||||
|
||||
width = 99
|
||||
For each oLang in oXMLLanguageList.selectNodes("//LOCALEDATA/LOCALE/SISO639LANGNAME")
|
||||
If Instr(1,LocaleName,oLang.Text & "-", vbTextCompare) = 1 and len(oLang.Text) < width then
|
||||
|
||||
width = len(oLang.Text)
|
||||
MarkupName = unescape(replace(oUtility.SelectSingleNodeString(oLang.ParentNode,"SENGLANGUAGE"),"\x","%u")) & " (" & _
|
||||
LocaleName & ")"
|
||||
|
||||
End if
|
||||
Next
|
||||
|
||||
End Function
|
||||
|
||||
|
||||
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 isServer then
|
||||
LPQuery = "PackageType = 'LanguagePack' and ( ProductName = 'Microsoft-Windows-Server-LanguagePack-Package' or ProductName = 'Microsoft-Windows-Server-Refresh-LanguagePack-Package' or ProductName = 'Microsoft.LanguageExperiencePack')"
|
||||
Else
|
||||
LPQuery = "PackageType = 'LanguagePack' and ( ProductName = 'Microsoft-Windows-Client-LanguagePack-Package' or ProductName = 'Microsoft-Windows-Client-Refresh-LanguagePack-Package' or ProductName = 'Microsoft.LanguageExperiencePack')"
|
||||
End if
|
||||
|
||||
If not isLangPack then
|
||||
LPQuery = "PackageType != 'LanguagePack' and (substring(ProductVersion,1,8) = '" & left(ImgBuild,8) & "' or ProductVersion = '') "
|
||||
ElseIf isServer and left(ImgBuild,4) = "6.0." then
|
||||
' All Windows Server 2008 Language Packs use Product Version 6.0.6001.18000
|
||||
LPQuery = LPQuery & " and substring(ProductVersion,1,8) = '6.0.6001' "
|
||||
ElseIf left(ImgBuild,4) = "6.0." then
|
||||
' All Windows Vista Language Packs use Product Version 6.0.6000.16386
|
||||
LPQuery = LPQuery & " and substring(ProductVersion,1,8) = '6.0.6000' "
|
||||
Else
|
||||
LPQuery = LPQuery & " and substring(ProductVersion,1,7) = '" & left(ImgBuild,7) & "' and substring(ProductVersion,5,4) >= '" & mid(ImgBuild,5,4) & "'"
|
||||
End if
|
||||
|
||||
If not isLangPack then
|
||||
' Nothing
|
||||
ElseIf 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
|
||||
End if
|
||||
|
||||
If UCase(oEnvironment.Item("ImageProcessor")) = "X64" then
|
||||
LPQuery = "//packages/package[(ProcessorArchitecture = 'amd64' or ProcessorArchitecture = 'neutral') and " & LPQuery & "]"
|
||||
Else
|
||||
LPQuery = "//packages/package[(ProcessorArchitecture = 'x86' or ProcessorArchitecture = 'neutral') and " & LPQuery & "]"
|
||||
End if
|
||||
|
||||
oLogging.CreateEntry vbTab & "QUERY: " & LPQuery, LogTypeInfo
|
||||
ConstructLPQuery = LPQuery
|
||||
|
||||
End function
|
||||
|
||||
Dim g_oXMLPackageList
|
||||
Dim g_sPackageDialogBox
|
||||
|
||||
Function CanDisplayPackageDialogBox
|
||||
|
||||
Dim dXMLCollection
|
||||
Dim LocalLanguage
|
||||
Dim oItem
|
||||
Dim sInputType
|
||||
Dim sDone
|
||||
Dim oNewItem
|
||||
Dim sToAdd
|
||||
|
||||
' Load and cache the application list
|
||||
|
||||
If IsEmpty(g_oXMLPackageList) then
|
||||
|
||||
Set g_oXMLPackageList = new ConfigFile
|
||||
g_oXMLPackageList.sFileType = "Packages"
|
||||
|
||||
End if
|
||||
|
||||
|
||||
' Get the list of language packs
|
||||
|
||||
g_oXMLPackageList.sSelectionProfile = oEnvironment.Item("WizardSelectionProfile")
|
||||
g_oXMLPackageList.sCustomSelectionProfile = oEnvironment.Item("CustomWizardSelectionProfile")
|
||||
Set g_oXMLPackageList.fnCustomFilter = GetRef("CustomPackageFilter")
|
||||
Set dXMLCollection = g_oXMLPackageList.FindItemsEx(ConstructLPQuery(TRUE))
|
||||
|
||||
If dXMLCollection.count = 0 then
|
||||
CanDisplayPackageDialogBox = False
|
||||
Exit Function
|
||||
End if
|
||||
|
||||
CanDisplayPackageDialogBox = TRUE
|
||||
oLogging.CreateEntry "CanDisplayPackageDialogBox = TRUE", LogTypeVerbose
|
||||
|
||||
|
||||
' Ultimate and Enterprise SKU's allow for more than one Language Pack to be installed at a time.
|
||||
|
||||
If IsInstallationUltimateEnterprise Then
|
||||
g_sPackageDialogBox = g_oXMLPackageList.GetHTMLEx( "CheckBox", "LanguagePacks" )
|
||||
Else
|
||||
' Convert property LanguagePacks back into a non-array if it's an array.
|
||||
If isArray(property("LanguagePacks")) then
|
||||
oProperties.Item("LanguagePacks") = property("LanguagePacks")(0)
|
||||
End if
|
||||
|
||||
g_sPackageDialogBox = g_oXMLPackageList.GetHTMLEx( "Radio", "LanguagePacks" )
|
||||
End if
|
||||
|
||||
|
||||
' Ensure that the default Language Pack has been added to the list.
|
||||
|
||||
for each oItem in oEnvironment.ListItem("ImageLanguage").Keys
|
||||
g_sPackageDialogBox = "</label> <b>(Already installed in OS)</b></div>" & vbNewLine & g_sPackageDialogBox
|
||||
g_sPackageDialogBox = "<img src='ItemIcon1.png' /><label for='DefaultLP' class=TreeItem>" & MarkupName(oItem) & g_sPackageDialogBox
|
||||
If IsInstallationUltimateEnterprise Then
|
||||
g_sPackageDialogBox = "<input name=LanguagePacks type=checkbox id='DefaultLP' value='DEFAULT' checked disabled />" & g_sPackageDialogBox
|
||||
ElseIf property("LanguagePacks") <> "" then
|
||||
g_sPackageDialogBox = "<input name=LanguagePacks type=Radio id='DefaultLP' value='DEFAULT' />" & g_sPackageDialogBox
|
||||
Else
|
||||
g_sPackageDialogBox = "<input name=LanguagePacks type=Radio id='DefaultLP' value='DEFAULT' checked />" & g_sPackageDialogBox
|
||||
End if
|
||||
g_sPackageDialogBox = "<div onmouseover=""javascript:this.className = 'DynamicListBoxRow-over';"" onmouseout=""javascript:this.className = 'DynamicListBoxRow';"" >" & g_sPackageDialogBox
|
||||
next
|
||||
|
||||
End function
|
||||
|
||||
Dim g_LastTaskSequence
|
||||
|
||||
Function LanguagePack_Initialization
|
||||
|
||||
If g_sPackageDialogBox = "" then
|
||||
g_LastTaskSequence = oEnvironment.Item("TaskSequenceID")
|
||||
CanDisplayPackageDialogBox
|
||||
|
||||
ElseIf oEnvironment.Item("TaskSequenceID") <> "" and g_LastTaskSequence <> oEnvironment.Item("TaskSequenceID") then
|
||||
oLogging.CreateEntry "The TaskSequenceID has changed, Refresh the cache.", LogTypeInfo
|
||||
g_LastTaskSequence = oEnvironment.Item("TaskSequenceID")
|
||||
g_oXMLPackageList = empty
|
||||
CanDisplayPackageDialogBox
|
||||
|
||||
End if
|
||||
|
||||
PackagesListBox.InnerHTML = g_sPackageDialogBox
|
||||
PopulateElements
|
||||
|
||||
End function
|
||||
|
||||
Function CustomPackageFilter( sGuid, oItem )
|
||||
|
||||
Dim oLang
|
||||
Dim bMatch
|
||||
|
||||
' Check the languages that are installed and remove
|
||||
' them from the list of languages to be installed.
|
||||
' These languages will then be added to the list later with
|
||||
' the text -(Already installed in OS)
|
||||
|
||||
for each oLang in oEnvironment.ListItem("ImageLanguage").Keys
|
||||
If oItem.SelectSingleNode("./Language").text = oLang then
|
||||
bMatch = TRUE
|
||||
Exit For
|
||||
End if
|
||||
next
|
||||
|
||||
If bMatch then
|
||||
CustomPackageFilter = false
|
||||
Else
|
||||
CustomPackageFilter = True
|
||||
oItem.SelectSingleNode("./Name").Text = MarkupName (oUtility.SelectSingleNodeString(oItem,"./Language"))
|
||||
End if
|
||||
|
||||
End function
|
||||
|
||||
|
||||
Function IsInstallationUltimateEnterprise
|
||||
|
||||
IsInstallationUltimateEnterprise = oUtility.IsHighEndSKUEx( oEnvironment.Item("ImageFlags") )
|
||||
|
||||
End function
|
||||
|
||||
Reference in New Issue
Block a user