Seite 1 von 1

killtask beendet task nicht

Verfasst: 18 Mär 2022, 13:39
von volfo
Ausgangslage:
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
Was passiert:
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
Auf dem Bildschirm ist zu sehen, dass das Programm noch offen ist, auch nach der durchgeführten Deinstallation.
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

Re: killtask beendet task nicht

Verfasst: 18 Mär 2022, 14:04
von SisterOfMercy
Eh, you might want to know there is also a msi version of cd burnerxp available, one that comes without a load of crapware.

Should be available here: https://cdburnerxp.se/download?more-options

Re: killtask beendet task nicht

Verfasst: 18 Mär 2022, 18:08
von Jan.Schmidt
moin,

warum - wenn du eh schon Winbatch nutzt - nimmst du nicht gleich einen Windoof Befehl ?

Code: Alles auswählen

taskkill /F /IM cdbxpp.exe

Re: killtask beendet task nicht

Verfasst: 21 Mär 2022, 11:19
von volfo
Jan.Schmidt hat geschrieben: 18 Mär 2022, 18:08 warum - wenn du eh schon Winbatch nutzt - nimmst du nicht gleich einen Windoof Befehl ?

Code: Alles auswählen

taskkill /F /IM cdbxpp.exe
Ja der Workaround funktioniert, danke - dennoch funktioniert hier opsi eindeutig nicht so wie es sollte.

Re: killtask beendet task nicht

Verfasst: 21 Mär 2022, 12:57
von j.werner
Sollte mit opsi-script 4.12.4.37 gefixed sein. Bitte mal mit opsi-script Version 4.12.4.37 aus experimental probieren.

Re: killtask beendet task nicht

Verfasst: 21 Mär 2022, 16:43
von volfo
j.werner hat geschrieben: 21 Mär 2022, 12:57 Sollte mit opsi-script 4.12.4.37 gefixed sein. Bitte mal mit opsi-script Version 4.12.4.37 aus experimental probieren.
ja, kann ich bestätigen, mit opsi-script 4.12.4.37 funktioniert das deinstallieren wieder wie gewohnt.