Ein Programm soll auf einem Client deinstalliert werden.
Vor einer Deinstallation auf einem Client wird nach einem laufenden Prozess gesucht, dieser beendet und erst dann deinstalliert.
Code: Alles auswählen
DefFunc delsub() : void
; -- Hauptteil -----------------------------------------------------------------------------------------------------
; exe oder andere Datei des Programms zum prüfen ob es schon installiert ist
if FileExists($CheckFile$)
;Laufenden Prozess beenden
Killtask "cdbxpp.exe"
; bei Installern wie installshield, inno, nsis usw.
Winbatch_uninstall
; Prüfen der Exitcodes auf Fehlerfall (Inno, InstallShield, Intel, MSI, NSIS, SAP, WU)
kiz_checkExitCodeInno()
; löschen von Dateien
Files_Uninstall
endif
Ein laufender Prozess wird gefunden aber nicht beendet.
Die Deinstallation wird fortgesetzt und fäschlicherweise von opsi als erfolgreich bezeichnet.
Code: Alles auswählen
(295) [6] [2022-03-18 12:25:52.845] [app_cdburnerxp] FileExists($CheckFile$) <<< result true
(296) [6] [2022-03-18 12:25:52.845] [app_cdburnerxp] Then
(297) [8] [2022-03-18 12:25:52.845] [app_cdburnerxp] Could not get handle for current session: no user
(298) [7] [2022-03-18 12:25:52.846] [app_cdburnerxp] Strange: different users found: + Administrator
(299) [7] [2022-03-18 12:25:52.846] [app_cdburnerxp] Session owner found: \
(300) [7] [2022-03-18 12:25:52.881] [app_cdburnerxp] Will not kill exe: cdbxpp.exe pid: 3304 from user: TEST-VM-0013\Administrator
(301) [6] [2022-03-18 12:25:52.881] [app_cdburnerxp] Nothing to stop, no instances of "cdbxpp.exe" found
(302) [5] [2022-03-18 12:25:52.881] [app_cdburnerxp] Execution of: Winbatch_uninstall
Bei Wiederinstallation kommt es aufgrund unvollständiger Deinstallation zu Problemen, bis hin zu ungeplanten Neustarts.
Getestet mit mehreren Programmen.
Sobald jmd eingeloggt ist, das Programm aktiv und 'on demand'-Deinstalliert wird, wird immer der Task nicht beendet.
Opsi-Versionen:
Server: opsiconfd 4.2.0.245 [python-opsi=4.2.0.276]
Client: opsi-client-agent 4.2.0.20
opsi-script 4.12.4.36-2