Files
Infra-LAB/projects/MDT/Scripts/DeployWiz_Applications.vbs

130 lines
3.3 KiB
Plaintext

' // ***************************************************************************
' //
' // Copyright (c) Microsoft Corporation. All rights reserved.
' //
' // Microsoft Deployment Toolkit Solution Accelerator
' //
' // File: DeployWiz_Applications.vbs
' //
' // Version: 6.3.8456.1000
' //
' // Purpose: Deployment Wizard application initialization routines
' //
' // ***************************************************************************
Option Explicit
'''''''''''''''''''''''''''''''''''''''''''
' Application List
'
Dim g_sApplicationDialog
Dim g_oXMLAppList
Function IsThereAtLeastOneApplicationPresent
Dim oXMLAppList
Dim dXMLCollection
Dim oTaskList
Dim oAction
' Bail out early if there is no "Install Application" step in the task sequence
If not FindTaskSequenceStep( "//step[@type='BDD_InstallApplication' and ./defaultVarList/variable[@name='ApplicationGUID'] and ./defaultVarList[variable='']]", "ZTIApplications.wsf" ) then
IsThereAtLeastOneApplicationPresent = false
Exit function
End if
' Load and cache the application list
If IsEmpty(g_oXMLAppList) then
Set g_oXMLAppList = new ConfigFile
g_oXMLAppList.sFileType = "Applications"
End if
' Get the filtered list of applications
g_oXMLAppList.sSelectionProfile = oEnvironment.Item("WizardSelectionProfile")
g_oXMLAppList.sCustomSelectionProfile = oEnvironment.Item("CustomWizardSelectionProfile")
Set dXMLCollection = g_oXMLAppList.FindItems
If dXMLCollection.count = 0 then
IsThereAtLeastOneApplicationPresent = False
g_sApplicationDialog = ""
Exit Function
End if
g_sApplicationDialog = g_oXMLAppList.GetHTMLEx( "CheckBox", "Applications" )
IsThereAtLeastOneApplicationPresent = True
End function
Function InitializeApplicationList
AppListBox.InnerHTML = g_sApplicationDialog
PopulateElements
End Function
Function ReadyInitializeApplicationList
Dim oInput, oApplicationList, oAppItem
If not ImageList.readystate = "complete" then
Exit function
End if
Set oApplicationList = document.getElementsByName("Applications")
If oApplicationList is nothing then
Exit function
ElseIf oApplicationList.Length < 1 then
Exit function
End if
For each oInput in oApplicationList
If UCase(document.all.item(oInput.SourceIndex - 1).TagName) = "INPUT" then
If oInput.Value = "" then
document.all.item(oInput.SourceIndex - 1).Disabled = TRUE
document.all.item(oInput.SourceIndex - 1).Style.Display = "none"
Else
document.all.item(oInput.SourceIndex - 1).Style.Display = "inline"
If not IsEmpty(Property("Applications"))then
For each oAppItem in Property("Applications")
If UCase(oAppItem) = UCase(oInput.Value) then
document.all.item(oInput.SourceIndex - 1).checked = TRUE
Exit for
End if
Next
End if
If not IsEmpty(Property("MandatoryApplications"))then
For each oAppItem in Property("MandatoryApplications")
If UCase(oAppItem) = UCase(oInput.Value) then
document.all.item(oInput.SourceIndex - 1).disabled = TRUE
document.all.item(oInput.SourceIndex - 1).checked = TRUE
Exit for
End if
Next
End if
End if
End if
Next
End function
Sub AppItemChange
document.all.item(window.event.srcElement.SourceIndex + 1).Disabled = not window.event.SrcElement.checked
End sub