Ich habe einen Windows-Dienst mit C# in Visual Studio 2010 erstellt. Ich habe viel über die Automatisierung des Installationsprozesses recherchiert. Hab viele Tipps bekommen, aber keiner hat für mich funktioniert. Der Windows-Dienst, den ich erstellt habe, hat viele Abhängigkeiten und ich möchte, dass der Client während der Installation keine UI-Interaktion hat. Ich habe ein Setup-Projekt für dieses erstellt, das alle meine Abhängigkeiten innerhalb des Installers enthält.Was ist der beste Weg zur Automatisierung der Windows Service-Bereitstellung?
Prozess beteiligt:
- einen Build für Windows erstellen Service
- Drücken Sie die Setup-Datei (.msi) an entfernten Ort
- Rufen Sie die .msi und installieren Sie den Dienst im Hintergrund und ohne Interaktion mit dem Benutzer.
Was ich getan habe bisher:
- ein Powershell-Skript erstellte Dateien auf Remote-Standort schieben
- Powershell-Skript ausführen und installieren Sie den Dienst
Bitte denken Sie daran, dass Powershell Skript
sc create "servicename" binpath="somepath"
wird verwendet, um den Dienst aus einem Projektverzeichnis zu installieren, nicht um MSI-Dateien zu installieren, die mit Setup Project erstellt wurden. Dies sind zwei sehr unterschiedliche Dinge. Wenn Sie das nicht verstehen, antworten Sie bitte nicht.
Mögliche Lösungen:
- Use (http://www.msbuildextensionpack.com/help/4.0.5.0/html/258a18b7-2cf7-330b-e6fe-8bc45db381b9.htm) msbuild Erweiterungspaket.
- Verwenden Sie buildarguments, um das Msbuild-Erweiterungspaket aufzurufen, um den Windows-Dienst zu installieren.
- Use (http://msdn.microsoft.com/en-us/library/x8zx72cd.aspx) Exec-Task
- Verwenden WIX (Windows Installer XML)
Jetzt ist meine Frage. Wie kann ich das Windows-Service-Installationsprogramm an den Remote-Standort verschieben? Und wie kann man benutzerdefinierte Build-Argumente erstellen und entweder das Msbuild-Erweiterungspaket oder den Exec-Task verwenden und den Service installieren?
Ich weiß, das klingt dumm und irritierende Frage für jemanden, der den Dienst nicht installiert hat mit (.MSI) von dem Setup-Projekt erstellt. Aber es sind meine Anforderungen, die ich seit Wochen in der Unternehmensumgebung zu lösen versuche.
Haben Sie Erfolg bei der Automatisierung der Windows Service-Bereitstellung? – bhupinder