Ветеран
Сообщения: 27449
Благодарности: 8087
|
Профиль
|
Отправить PM
| Цитировать
HFShak, Вы уверены, что приведённая ошибка воспроизводится именно приведённым кодом?
Попробуйте исполнить этот код на проблемной машине:
читать дальше »
Код: 
AutoItSetOption("MustDeclareVars", 1)
Global $oAutoItError = ObjEvent("AutoIt.Error", "ErrorHandling")
Local $aSoftwareNames[40] = [ _
"Java 2 Runtime Environment Standard Edition v1.2.2", _
"Java 2 Runtime Environment Standard Edition v1.3.1_05", _
"Java 2 Runtime Environment Standard Edition v1.3.1_17", _
"Java 2 Runtime Environment, SE v1.4.2_01", _
"Java 2 Runtime Environment, SE v1.4.2_03", _
"Java 2 Runtime Environment, SE v1.4.2_05", _
"Java 2 Runtime Environment, SE v1.4.2_06", _
"Java 2 Runtime Environment, SE v1.4.2_07", _
"Java 2 Runtime Environment, SE v1.4.2_08", _
"Java 2 Runtime Environment, SE v1.4.2_12", _
"Java 2 Runtime Environment, SE v1.4.2_13", _
"Java 2 Runtime Environment, SE v1.4.2_15", _
"Java 2 Runtime Environment, SE v1.4.2_16", _
"Java 2 Runtime Environment, SE v1.4.2_19", _
"Java Auto Updater", _
"Java(TM) 6 Update 10", _
"Java(TM) 6 Update 11", _
"Java(TM) 6 Update 13", _
"Java(TM) 6 Update 17", _
"Java(TM) 6 Update 18", _
"Java(TM) 6 Update 2", _
"Java(TM) 6 Update 20", _
"Java(TM) 6 Update 21", _
"Java(TM) 6 Update 22", _
"Java(TM) 6 Update 23", _
"Java(TM) 6 Update 24", _
"Java(TM) 6 Update 26", _
"Java(TM) 6 Update 29", _
"Java(TM) 6 Update 29 (64-bit)", _
"Java(TM) 6 Update 3", _
"Java(TM) 6 Update 30", _
"Java(TM) 6 Update 31", _
"Java(TM) 6 Update 31 (64-bit)", _
"Java(TM) 6 Update 32", _
"Java(TM) 6 Update 32 (64-bit)", _
"Java(TM) 6 Update 5", _
"Java(TM) 6 Update 7", _
"Java(TM) 7 Update 3", _
"Java(TM) 7 Update 4", _
"Java(TM) 7 Update 4 (64-bit)" _
]
Local $sSoftwareName
Local $sComputer = "."
Local $oSWbemLocator = ObjCreate("WbemScripting.SWbemLocator")
Local $oSWbemServicesEx = $oSWbemLocator.ConnectServer($sComputer, "root\cimv2")
Local $cSWbemObjectSet = $oSWbemServicesEx.ExecQuery("SELECT * FROM Win32_Product")
Local $oSWbemObjectEx
For $oSWbemObjectEx In $cSWbemObjectSet
For $sSoftwareName In $aSoftwareNames
If $sSoftwareName = $oSWbemObjectEx.Name Then
$oSWbemObjectEx.Uninstall()
EndIf
Next
Next
$oSWbemObjectEx = 0
$cSWbemObjectSet = 0
$oSWbemServicesEx = 0
$oSWbemLocator = 0
Exit(0)
Func ErrorHandling()
Local $HexNumber = Hex($oAutoItError.Number, 8)
MsgBox(0, "", "We intercepted a COM Error !" & @CRLF & _
"Number is: " & $HexNumber & @CRLF & _
"Windescription is: " & $oAutoItError.WinDescription & @CRLF & _
"Name of the Object generating the error: " & $oAutoItError.Source & @CRLF & _
"Source Object's description: " & $oAutoItError.Description & @CRLF & _
"The number returned from GetLastError(): " & $oAutoItError.lastDllError & @CRLF & _
"Script Line: " & $oAutoItError.ScriptLine _
)
Exit(-1)
EndFunc
в неизменном виде. При появлении сообщения об ошибке нажмите в окне сообщения об ошибке «Ctrl-C» и выложите содержимое буфера обмена сюда.
Возможный примерный вид полученного
Код: 
---------------------------
---------------------------
We intercepted a COM Error !
Number is: 80020006
Windescription is: Неизвестное имя.
Name of the Object generating the error:
Source Object's description:
The number returned from GetLastError(): 0
Script Line: 58
---------------------------
ОК
---------------------------
|