Files

271 lines
6.3 KiB
Plaintext

' // ***************************************************************************
' //
' // Copyright (c) Microsoft Corporation. All rights reserved.
' //
' // Microsoft Deployment Toolkit Solution Accelerator
' //
' // File: WelcomeWiz_Choice.vbs
' //
' // Version: 6.3.8456.1000
' //
' // Purpose: Scripts for welcome wizard choice pane
' //
' // ***************************************************************************
Option Explicit
Dim sSelectedBtn
Function GetValueFromID( oItem )
Select Case oItem.ID
Case buttonitem1.ID
GetValueFromID = "DEPLOYWIZARD"
Case buttonitem2.ID
GetValueFromID = "RECOVERY"
Case buttonitem3.ID
GetValueFromID = "DART"
Case buttonitem4.ID
GetValueFromID = "COMMANDPROMPT"
End select
End Function
Function RunSelCmd
Dim sValue
sValue = GetValueFromID(window.event.srcElement)
Select Case (window.event.type)
Case "mouseout", "deactivate"
If window.event.srcElement.ID <> sSelectedBtn then
window.event.srcElement.style.backgroundimage = "url(btnout.png)"
End if
Case "mouseover"
If window.event.srcElement.ID <> sSelectedBtn then
window.event.srcElement.style.backgroundimage = "url(btnover.png)"
End if
Case "activate"
ActivateItem window.event.srcElement
Case "click", "dblclick"
ActivateItem window.event.srcElement
ButtonNextClick
End Select
End function
Function ActivateItem ( oItemNew )
if sSelectedBtn <> "" then
document.GetElementByID(sSelectedBtn).style.backgroundimage = "url(btnout.png)"
End if
oItemNew.style.backgroundimage = "url(btnsel.png)"
sSelectedBtn = oItemNew.ID
oItemNew.Focus
End function
Sub KeyHandlerCustom
if window.event.srcElement.tagName = "INPUT" then
KeyHandler
exit sub
End if
select case window.event.KeyCode
Case 40 ' Down
If window.event.srcElement.ID = "buttonItem1" and buttonItem2.style.display <> "none" then
ActivateItem buttonItem2
Elseif (window.event.srcElement.ID = "buttonItem1" or window.event.srcElement.ID = "buttonItem2") and buttonItem3.style.display <> "none" then
ActivateItem buttonItem3
Else
ActivateItem buttonItem4
End if
Case 38 ' Up
If window.event.srcElement.ID = "buttonItem4" and buttonItem3.style.display <> "none" then
ActivateItem buttonItem3
ElseIf (window.event.srcElement.ID = "buttonItem4" or window.event.srcElement.ID = "buttonItem3") and buttonItem2.style.display <> "none" then
ActivateItem buttonItem2
Else
ActivateItem buttonItem1
End if
End select
End sub
Function RunSelectedCommand
Dim sCmd
Select case GetValueFromID(document.GetElementByID(sSelectedBtn))
Case "RECOVERY"
document.body.style.cursor = "Wait"
sCmd = "x:\sources\recovery\RecEnv.exe"
oShell.Run sCmd, 1, true
document.body.style.cursor = "default"
RunSelectedCommand = false
Case "DART"
document.body.style.cursor = "Wait"
sCmd = "x:\sources\recovery\tools\MSDartTools.exe"
oShell.Run sCmd, 1, true
document.body.style.cursor = "default"
RunSelectedCommand = false
Case "COMMANDPROMPT"
oEnvironment.Item("WizardComplete") = "N"
window.Close
Exit function
Case else ' "DEPLOYWIZARD"
RunSelectedCommand = true
End select
End function
Function SafeRegRead( KeyValue )
on error resume next
SafeRegRead = oShell.RegRead("HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\WinPE\KeyboardLayouts\" & GetLocale & "\" & KeyValue)
on error goto 0
End function
Function WelcomeWizard_CustomInitializationCloseout
buttonItem1.focus
End function
Function WelcomeWizard_CustomInitialization
Dim KeyboardLocale
Dim FoundPrimary
Dim sName, sID, i, j, Insert, oOption
' Set the window title
If oEnvironment.Item("_SMSTSOrgName") <> "" then
document.title = oEnvironment.Item("_SMSTSOrgName")
Else
document.title = "Microsoft Deployment Toolkit"
End if
FoundPrimary = False
ActivateItem buttonItem1
document.body.onkeyDown = getref("KeyHandlerCustom")
MyContentArea.style.backgroundimage = "url(WelcomeWiz_Background.jpg)"
' Disable buttons for items not present in the boot image
If not oFSO.FileExists("x:\sources\recovery\RecEnv.exe") then
buttonItem2.Style.display = "none"
End if
If not oFso.FileExists("x:\sources\recovery\tools\MSDartTools.exe") then
buttonItem3.Style.display = "none"
End if
' Test for the 1st registry entry
if isempty(SafeRegRead( "0\Name" )) then
' Not Found, run WpeUtil again
oLogging.CreateEntry "Run WPEUtil.exe ListKeyboardLayouts " & GetLocale, LogTypeInfo
oShell.Run "wpeutil.exe ListKeyboardLayouts " & GetLocale, 0, TRUE
end if
if isempty(SafeRegRead( "0\Name" )) or isempty(SafeRegRead( "0\ID" ))then
' Still not found, some kind of problem with wpeutil.exe
oLogging.CreateEntry "Could not enumerate Keyboard list through WPEUtil.exe", LogTypeWarning
end if
KeyboardLocale = oEnvironment.Item("KeyboardLocalePE")
if KeyboardLocale = "" then
KeyboardLocale = hex(GetLocale)
while len(KeyboardLocale) < 4
KeyboardLocale = "0" & KeyboardLocale
wend
KeyboardLocale = KeyboardLocale & ":0000" & KeyboardLocale
end if
i = 0
sName = SafeRegRead( i & "\Name" )
sID = SafeRegRead( i & "\ID" )
do while not isempty(sName) and not isempty(sID)
Insert = -1 ' Default
for j = 0 to WinPEKeyboard.options.length - 1
if StrComp(sName,WinPEKeyboard.Options(j).Text,VbTextCompare) < 0 then
Insert = j
exit For
end if
next
' Skip if pre-existing
for j = 0 to WinPEKeyboard.options.length - 1
if WinPEKeyboard.options(j).value = sID then
WinPEKeyboard.options(j).Selected = sID = KeyboardLocale
Insert = empty
exit for
end if
next
' Add entry to the display.
if not isempty(Insert) then
set oOption = document.CreateElement("OPTION")
if ucase(sID) = ucase(KeyboardLocale) then
FoundPrimary = True
oOption.Selected = True
elseif FoundPrimary = False and ucase(right(sID,8)) = ucase(right(KeyboardLocale,8)) then
oOption.Selected = True
end if
oOption.text = sName
oOption.Value = sID
WinPEKeyboard.Add oOption, Insert
end if
i = i + 1
sName = SafeRegRead( i & "\Name" )
sID = SafeRegRead( i & "\ID" )
loop
end function
Function ConfigureStaticIP
oShell.run "MSHTA.exe " & oUtility.ScriptDir & "\Wizard.hta /definition:NICSettings_Definition_ENU.xml"
End function