Ich arbeite an einem Installer, der mehrere Windows-Dienste installieren soll. Wir machen ziemlich oft neue Builds (mit neuen .msi-Dateien) und verwenden größere Upgrades, um die Installation über eine vorherige Installation zu vereinfachen.Wix Major Upgrade: Wie verhindere ich die Neuinstallation von Windows-Diensten?
Das Problem ist, dass wir die Service-Dateien aktualisieren müssen, ohne die Service-Konfiguration zu überschreiben (zum Beispiel Benutzername und Passwort des Kontos).
Wir verwenden ServiceInstall
und ServiceControl
innerhalb der Komponente, die den Dienst exe
Datei enthält. Gibt es eine Möglichkeit, die Ausführung von ServiceInstall
bedingt zu machen (unter Verwendung einer Bedingung wie REMOVE="ALL" AND NOT UPGRADINGPRODUCTCODE
), damit der Dienst beim Upgrade nicht deinstalliert wird (gerade gestoppt, damit wir die Dateien aktualisieren können)?
Eine Lösung wäre, benutzerdefinierte Aktionen zu verwenden, aber vielleicht gibt es einen besseren Weg?
Danke!
Ich kann nicht glauben, dass ich nicht darüber nachgedacht habe. Vielen Dank für das Teilen! – Adkins
Miron, Können Sie ein Beispiel veröffentlichen? Ich versuche, das Dienstkonto zwischen Upgrades zu speichern. –
@MuriloLima Sorry, das war vor einigen Jahren. Diese Frage stammt aus einem früheren Leben :) und ich habe keinen Zugang mehr zu diesem Quellbaum. –