Autoit für Uninstall.ins
Verfasst: 23 Apr 2015, 16:42
Hallo Forum,
ich bin gerade dabei mich mit OPSI zu beschäftigen und als Ersatz für WPKG zu etablieren, stehe also noch am Anfang
. Also großes Lob an die Entwickler, tolles Tool...
Zum eigentlichen Problem:
Ich versuche ein OPSI Paket für WinPcap (nötig für funktionierendes Wireshark) zu erstellen. Leider bietet WinPcap 4.1.3 keinen Silent Uninstall mehr an, woraufhin ich mit Autoit getestet habe und mich an die Beschreibung aus dem Manual '5.1.7. Zweites Beispiel: tightvnc' gehalten habe. Das Setup
läuft einwandfrei durch, Autoit drückt brav alle Knöpfchen. Leider finde ich kein Beispiel auf welche Art man Autoit in ein Uninstall.ins einbindet, mein Versuch sieht so aus:
Vermutlich steckt hier der Fehler, auch wenn ich ihn nicht erkenne
Das kleine Autoit -Script selbst funktioniert wenn ich es lokal auf einem Client testet. Versuche ich die Deinstallation über OPSI scheint alles durch zulaufen, sowohl auf dem Client als auch später in der JavaGui steht bei Report Success (uninstall)'. WinPcap selbst ist aber unberührt, sprich weiter vorhanden.
Zusatzfrage in der Doku, dem TightVNC Beispiel steht:
ExecWith_autoit_confirm "%ScriptPath%\AutoIt3_x64.exe" WINST /letThemGo
Was bewirkt der Zusatz WINST /letThemGo?
Vielen Dank für jeglichen Denkansatz
Mike
ich bin gerade dabei mich mit OPSI zu beschäftigen und als Ersatz für WPKG zu etablieren, stehe also noch am Anfang

Zum eigentlichen Problem:
Ich versuche ein OPSI Paket für WinPcap (nötig für funktionierendes Wireshark) zu erstellen. Leider bietet WinPcap 4.1.3 keinen Silent Uninstall mehr an, woraufhin ich mit Autoit getestet habe und mich an die Beschreibung aus dem Manual '5.1.7. Zweites Beispiel: tightvnc' gehalten habe. Das Setup
läuft einwandfrei durch, Autoit drückt brav alle Knöpfchen. Leider finde ich kein Beispiel auf welche Art man Autoit in ein Uninstall.ins einbindet, mein Versuch sieht so aus:
Code: Alles auswählen
[Actions]
requiredWinstVersion >= "4.11.2.6"
DefVar $UninstallProgram$
DefVar $LogDir$
DefVar $ProductId$
DefVar $InstallDir$
Set $LogDir$ = "%SystemDrive%\tmp"
; ----------------------------------------------------------------
; - Please edit the folling values -
; ----------------------------------------------------------------
Set $ProductId$ = "winpcap"
Set $InstallDir$ = "%ProgramFiles32Dir%\winpcap"
Set $UninstallProgram$ ="Uninstall.exe"
; ----------------------------------------------------------------
comment "Display productlogo"
ShowBitmap "%ScriptPath%\winpcap.png" "WinPcap 4.1.3"
Message "Uninstalling " + $ProductId$ + " ..."
ExecWith_autoit_confirm "%ScriptPath%\AutoIt3_x64.exe" WINST /letThemGo
ChangeDirectory "%SCRIPTPATH%"
Winbatch_uninstall
[Winbatch_uninstall]
"$InstallDir$" + "$UninstallProgram$"
KillTask "AutoIt3_x64.exe"
[ExecWith_autoit_confirm]
WinWaitActive("WinPcap 4.1.3 Uninstall", "WinPcap")
ControlClick ("WinPcap 4.1.3 Uninstall", "WinPcap", "[CLASS:Button; INSTANCE:2]")
WinWaitActive("WinPcap 4.1.3 Uninstall", "WinPcap")
ControlClick ("WinPcap 4.1.3 Uninstall", "WinPcap", "[CLASS:Button; INSTANCE:2]")
Vermutlich steckt hier der Fehler, auch wenn ich ihn nicht erkenne

Zusatzfrage in der Doku, dem TightVNC Beispiel steht:
ExecWith_autoit_confirm "%ScriptPath%\AutoIt3_x64.exe" WINST /letThemGo
Was bewirkt der Zusatz WINST /letThemGo?
Vielen Dank für jeglichen Denkansatz
Mike