Hallo,
es ist mal wieder soweit dass ich nach längerer Abstinenz mal wieder ein kleiens Wunder vollbringen darf.
Es soll ein Programm in diesem Fall Workplace Protect von Fujitsu Siemens deinistalliert werden.
Leider ist der Uninstall String nicht immer der selber also muss ich ihn irgendwie auslesen.
Gefunden hab ich das:
https://www.autoitscript.com/forum/topic/16…-from-registry/
Das wäre dann aber mit Kanonen auf Spatzen geschossen.
Und den Code unten auf einer anderen Seite.
Das Problem ist dass das obere es findet aber viel zu viel ist und ich es auch nicht durchschaue.
Das andere findet den String nicht
Hat da jemand von euch eine schnelle Lösung?
Code
#include <MsgBoxConstants.au3>
$sBase = "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\"
$iEval = 1
$sSearch = "Workplace"
While 1
$sUninst = ""
$sDisplay = ""
$sCurrent = RegEnumKey($sBase, $iEval)
If @Error Then ExitLoop
$sKey = $sBase & $sCurrent
$sDisplay = RegRead($sKey, "DisplayName")
If StringRegExp($sDisplay, ".*" & $sSearch & ".*") Then
$sUninst = RegRead($sKey, "UninstallString")
If $sUninst Then
$sMsg = MsgBox(35, "Result", "Are you sure you want to uninstall " & $sDisplay & "?")
If $sMsg = 6 Then
RunWait($sUninst)
ElseIf $sMsg = 2 Then
ExitLoop
EndIf
EndIf
EndIf
$iEval += 1
WEnd
Alles anzeigen