Unser ERP-System soll einen neuen Updater erhalten. Der Prozess macht es notwendig, dass bei einem Update Admin-Rechte benötigt werden, beispielsweise weil in die Registry geschrieben wird. Als Client Betriebssystem kommt Windows 7 zum Einsatz.
Unsere Überlegung war es den Update-Prozess als Dienst oder Aufgabe lokal mit Adminrechten laufen zu lassen. Der angemeldete User hingegen arbeitet mit eingeschränkten Rechten. Für ein optimales Benutzererlebnis stellen wir uns vor, dass das ERP dem Anwender meldet, dass es aktualisiert werden muss, d.h. der Dienst müsste an die lokale Anwendung, die in einem anderen Benutzerkontext läuft, eine entsprechende Nachricht schicken. Sobald die Applikation geschlossen wird, muss diese dann melden, dass das Update durchgeführt werden kann. Während des Prozessablaufs sollte darüber hinaus dem Anwender noch visuell der Fortschrittsstatus angezeigt werden.
Das ähnelt stark dem Verhalten von Browsern wie Chrome oder Anwendungen wie Flash. Meine Frage ist, ob der gewählte Lösungsansatz mit Aufgaben/Diensten der Passende ist und wie die Visualisierung über Benutzerkontexte hinweg sinnvoll zu implementieren ist. Für Hinweise und Lösungsansätze wäre ich dankbar.
//Erste Rückmeldung von Hans-Peter:
Im ERP mit einem Timer arbeiten, der prüft, ob eine Datei vorhanden ist und dann die Meldung an den Anwender ausgeben. Für die Fortschritts-Anzeige dann im Service einen separaten Thread starten, welchen man im Kontext des Anwenders laufen lässt.