Hallo,
ich habe da ein seltsames Problem, aber erstmal zur Verständlichkeit was das Programm überhaupt machen soll:
Es geht darum das zwei alte Programme deinstalliert werden und zwei neue anschließend installiert werden.
Die Installation klappt problemlos, allerdings hakt es bei der Deinstallation.
Die realisiere ich über Hilfe der Registry, weil dort die Schlüssel für die Deinstallation angegeben sind.
Nun zu meinem Problem. Wenn ich ein Run, RunWait, _RunDOS benutze um die Deinstallation zu starten,
entfernt er immer nur ein Programm, halt das was zu erste aus der Registry abgefragt wird und mit der IF
bedingung übereinstimmt.
Habe ich die Run-Befehle entfernt, gibt er mir beide MsgBoxes aus. Somit liegt in meinem Sinne, es irgendwie an den
Run Befehlen.
;Programme auslesen
$Key = "HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Uninstall"
Dim $a = 0
While 1
$a += 1
$var = RegEnumKey($Key, $a)
If @error Then ExitLoop
$regread = RegRead($Key & "\" & $var,"DisplayName")
If $regread = "ScrewDrivers Client v3" Or $regread = "MetaFrame Presentation Server Client" Then
$uninstallstring = RegRead($Key & "\" & $var,"UninstallString")
$uninstallstring = StringReplace($uninstallstring,"/I","/uninstall ")
;~ _RunDOS("start " & $uninstallstring & " /passive")
RunWait($uninstallstring & " /passive")
MsgBox(64,"Software",$regread & " wurde deinstalliert",5)
EndIf
WEnd
Kann mir da einer helfen? Weil ich glaube ich sehe langsam den Wald vor lauter Bäumen kaum
Grüße
dragst3r