Цитата wer0102:
Может еще подскажите, как заставить считать и выполнить параметр из реестра UninstallString »
|
На примере приложения «USB-модем «Билайн»:
читать дальше »
Код:

Option Explicit
Const HKEY_LOCAL_MACHINE = &H80000002
Dim strKey
Dim strComputer
Dim strValue
Dim lngProcessId
' {93D34EE3-99B3-4DB1-8B0A-0A657466F90D} - USB-модем «Билайн»
strKey = "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{93D34EE3-99B3-4DB1-8B0A-0A657466F90D}"
strComputer = "."
With WScript.CreateObject("WbemScripting.SWbemLocator")
If .ConnectServer(strComputer, "root\default").Get("StdRegProv").GetStringValue(HKEY_LOCAL_MACHINE, strKey, "UninstallString", strValue) = 0 Then
If .ConnectServer(strComputer, "root\cimv2").Get("Win32_Process").Create(strValue, Empty, Nothing, lngProcessId) = 0 Then
' Good execute uninstall
Else
WScript.Echo "Can't execute [" & strValue & "]."
End If
Else
WScript.Echo "Can't find [HKEY_LOCAL_MACHINE\" & strKey & "\" & UninstallString & "]."
End If
End With
WScript.Quit 0
Тот же код работает и удалённо. Главный минус — удаление интерактивное, код лишь запускает этот процесс, пользуясь строкой «UninstallString» в реестре.
Ну, и, удалённо, разумеется, окна не будет видно — оно будет запущено не на текущем десктопе удалённого пользователя.