Normales Thema Programm vor Update beenden (Gelesen: 2549 mal)
Sandro Reiter
WSUS Junior Member
*
Offline


I love WSUS!

Beiträge: 13
Mitglied seit: 27.04.16
Programm vor Update beenden
06.05.16 um 13:20:08
Beitrag drucken  
Hallo zusammen,

folgende Problemstellung:

Ich habe ein Update per WPP erstellt was auf meinen Testmaschinen wunderbar funktioniert hat, leider klagen nun die Nutzer reihenweise das die Software nicht mehr startet nach dem Update. Der Grund dafür ist, dass das Programm während dem Update gestartet war.

Nun meine Frage: Kann ich mit dem WPP irgendwie vor der Installation einen Taskkill auslösen? Ich habe das Benutzerdefinierte Update gefunden. Allerdings weiß ich dann nicht wie ich den Komfort des "Update erstellen" Assistenten einbauen kann um die MSI und MST hinzuzufügen, da bei Programmstart die CustomUpdateEngine.exe ausgewählt ist.

Kann mir jemand helfen einen Taskkill mit einer zu installierenden MSI + MST als Update zu veröffentlichen?

Freundliche Grüße
Sandro
  
Zum Seitenanfang
 
Sandro Reiter
WSUS Junior Member
*
Offline


I love WSUS!

Beiträge: 13
Mitglied seit: 27.04.16
Re: Programm vor Update beenden
Antwort #1 - 06.05.16 um 14:02:39
Beitrag drucken  
<CustomUpdate>
<Action>
<ElementType>CustomUpdateElements.KillProcessElement</ElementType>
<ProcessName>ABC.exe</ProcessName>
</Action>
<Action>
<ElementType>CustomUpdateElements.ExecutableElement</ElementType>
<PathToExecutable>%windir%\System32\msiexec.exe</PathToExecutable>
<Parameters>/i ABC.msi /norestart /qn</Parameters>
<KillProcess>True</KillProcess>
<TimeBeforeKilling>10</TimeBeforeKilling>
<Variable/>
</Action>
</CustomUpdate>

So sieht meine XML Datei mit den Settings aus. Ich habe es gerade mit geöffnetem Programm getestet.

Das Update läuft durch, der Prozess wird nicht beendet und das Fenster schließt sich auch nicht. Die Software wurde aber augenscheinlich aktualisiert. Zumindest sind die Einträge in der Registry und die Dateiversion angepasst worden. In der Systemsteuerung steht die Software aber weiterhin mit der alten Version drin :/

Beim Starten des Programms nun natürlich der gleiche Fehler, da die Software nicht beendet wurde vor der Aktualisierung.
  
Zum Seitenanfang
 
Sunny
Microsoft MVP
*****
Offline



Beiträge: 15138
Mitglied seit: 11.02.07
Geschlecht: männlich
Re: Programm vor Update beenden
Antwort #2 - 06.05.16 um 15:05:58
Beitrag drucken  
Der Task wird mit Systemrechten ausgeführt, erstell mit Hilfe der Taskkill.exe von Sysinternals eine Batchdatei, die ebenfalls die EXE bzw. den Prozess killt. Die Batch dann im Taskplaner aufrufen, als ausführender Benutzer gibst Du SYSTEM an. Funktioniert das?

Gibt es denn irgendwelche Fehlermeldungen? In %windir%\Temp solltest Du dazu eine Logdatei finden.

Es wäre vermutlich zielführender für so eine SW weiterhin per GPSI bzw. GPO zu arbeiten. Wir haben auch so eine SW, die müsste ich beenden um sie aktualisieren zu können. Hatte das mit einer selbst erstellenten EXE probiert, hat auch nicht sauber funktioniert.

Alternativ könntest Du natürlich eine Batchdatei erstellen, darin rufst Du Taskkill.exe von Sysinternals auf, prüfst mit Tasklist.exe ob der Task vorhanden bzw. gelöscht ist, dann mit

Start /wait msiexec.exe /i /qn \\Server\Freigabe\Nameder.MSI Transforms=mst

die Installation starten. Etwas besseres kann ich dir nicht anbieten.
  
Zum Seitenanfang
 
Sandro Reiter
WSUS Junior Member
*
Offline


I love WSUS!

Beiträge: 13
Mitglied seit: 27.04.16
Re: Programm vor Update beenden
Antwort #3 - 06.05.16 um 15:27:34
Beitrag drucken  
Puuuuh. Danke ich schau mal.

GPSI ist keine Alternative da wir Windows 10 im Einsatz haben.
Mehr dazu (auch von Dir) hier:
(Du musst Dich Einloggen oder Registrieren um Multimediadateien oder Links zu sehen).
85b949/software-deployment-gpo-wird-nicht-bernommen?forum=win10itprogeneralDE#de
c84537-814c-4bcb-8301-2522629a89b2
  
Zum Seitenanfang
 
Sunny
Microsoft MVP
*****
Offline



Beiträge: 15138
Mitglied seit: 11.02.07
Geschlecht: männlich
Re: Programm vor Update beenden
Antwort #4 - 06.05.16 um 19:47:29
Beitrag drucken  
Ah ok, da kommt das her. Hättest ja gleich schreiben können. Zwinkernd

BTW: Du könntest auch ein Script schreiben, das eine Messagebox einblendet und den Benutzer fragt, ob die SW beendet werden kann. Falls Ja, dann mit Taskkill die Prozesse beenden. Alles in allem ist das keine einfache Angelegenheit. Was sagt denn der Hersteller der SW dazu?
  
Zum Seitenanfang
 
Sandro Reiter
WSUS Junior Member
*
Offline


I love WSUS!

Beiträge: 13
Mitglied seit: 27.04.16
Re: Programm vor Update beenden
Antwort #5 - 09.05.16 um 13:36:55
Beitrag drucken  
Ging dann doch relativ einfach:

taskkill.exe /f /fi "USERNAME ne NT AUTHORITY\SYSTEM" /im PROZESS.exe

Hier die XML:

<CustomUpdate>
<Action>
<ElementType>CustomUpdateElements.ExecutableElement</ElementType>
<PathToExecutable>%WinDir%\System32\cmd.exe</PathToExecutable>
<Parameters>/c "kill_process.bat"</Parameters>
<KillProcess>True</KillProcess>
<TimeBeforeKilling>10</TimeBeforeKilling>
<Variable/>
</Action>
<Action>
<ElementType>CustomUpdateElements.ExecutableElement</ElementType>
<PathToExecutable>%WinDir%\System32\msiexec.exe</PathToExecutable>
<Parameters>/I APP.msi /norestart /qn</Parameters>
<KillProcess>True</KillProcess>
<TimeBeforeKilling>10</TimeBeforeKilling>
<Variable/>
</Action>
</CustomUpdate>
  
Zum Seitenanfang
 
Sunny
Microsoft MVP
*****
Offline



Beiträge: 15138
Mitglied seit: 11.02.07
Geschlecht: männlich
Re: Programm vor Update beenden
Antwort #6 - 09.05.16 um 16:07:14
Beitrag drucken  
Sandro Reiter schrieb on 09.05.16 um 13:36:55:
Ging dann doch relativ einfach:


Na siehst, freut mich für dich und Danke für die Rückmeldung. Zwinkernd
  
Zum Seitenanfang
 
Bookmarks: Facebook Google Google+ Linked in Twitter Yahoo
 



Nutzungsbedingungen | Datenschutz
Kontakt | RSS | Feedback | Impressum
Facebook | News einsenden