Wir haben eine Winforms-LOB-Anwendung, die unter normalen Umständen von einem Launcher gestartet werden sollte, der grundlegende Versionsüberprüfungen durchführen und aktualisierte Komponenten herunterladen sollte, bevor der Hauptprozess gestartet wird.Wie erkenne ich, wie mein Prozess gestartet wurde?
Ein Problem, das wir sehen, ist, dass einige Mitarbeiter es schneller geladen haben, indem sie die Update-Anwendung nicht ausführen, dies kann jedoch dazu führen, dass Menschen nicht die neuesten Funktionen haben und alle möglichen Kopfschmerzen zu unterstützen.
Was ich gerne tun könnte, ist eine Warnung auszugeben, wenn sie nicht durch die Initialisierungsanwendung gegangen sind. Idealerweise würde ich dies gerne tun wollen, ohne die Update - Anwendung ändern zu müssen (was bedeutet, dass ich ein neues MSI auf jedem Client installieren muss), und der Ansatz, der herauskommt, besteht darin, eine Möglichkeit zu finden, Informationen über die Prozess, der "mich" gestartet hat und gegen eine weiß/schwarze Liste zu überprüfen, für immer kann ich nicht einen Weg finden, dies zu tun?
Abgesehen: Natürlich, wenn ich zum Ändern der Update-Anwendung zurückgreifen haben, würde ich es wahrscheinlich ändern, entweder eine Pre-Shared Secret als Kommandozeilen-Argument übergeben, oder noch besser, ändert sich die Anwendung, so dass ich es einfach als eine Klassenbibliothek laden und die relevante Klasse durch Reflexion instanziieren könnte. ClickOnce wurde als does not support being installed for multiple users
Link zu System.Diagnostics FAQ http://msdn.microsoft.com/en-us/netframework/aa569609.aspx#Question3 – Justin
Gute Verbindung. Wird bearbeitet um es einzuschließen. –
Funktioniert perfekt, selbst wenn das Tor geschlossen wird, nachdem das Pferd gebolzt hat ... –