Dim oArgs
Set oArgs = WScript.Arguments
EngineName = oArgs(0)
UpdateRegPath = REG_KEY & InstalledProduct & "\Scan Engines\" & EngineName
UpdateRegPath_64 = REG_KEY_64 & InstalledProduct & "\Scan Engines\" & EngineName
WScript.Sleep(10000)
UpdateNumber = RetrieveRegValue (UpdateRegPath, "Update Version", 2)
If IsNull(UpdateNumber) or UpdateNumber = "" Then
UpdateNumber = RetrieveRegValue (UpdateRegPath_64, "Update Version", 2)
'UpdateNumber = "5.91.0"
end if
'********************************************************************
'*
'* Function: RetrieveRegValue
'*
'* Purpose: Retrieves String Value from Registry
'*
'********************************************************************
Function RetrieveRegValue (Key, strValueName, intValueType)
' intValueType -> 1 = String Value
' -> 2 = DWORD Value
const HKEY_LOCAL_MACHINE = &H80000002
Dim strServerName
Dim objReg
Dim strRegValue
On Error Resume Next
Err.Clear
Set objReg=GetObject("winmgmts:\root\default:StdRegProv")
If Err.Number <> 0 Then
Err.Clear
strRegValue = NULL
Else
Select Case intValueType
Case 1
strErr = objReg.GetStringValue (HKEY_LOCAL_MACHINE, Key, strValueName, strRegValue)
Case 2
strErr = objReg.GetDWORDValue (HKEY_LOCAL_MACHINE, Key, strValueName, strRegValue)
End Select
' if reading the registry fails via wmi return error
If strErr <> 0 then
strRegValue = NULL
End If
End If