130 lines
3.3 KiB
Plaintext
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
|
|
|