Stworzyłem usługę windows przy użyciu C# w Visual Studio 2010. Zrobiłem dużo badań na temat automatyzacji procesu instalacji. Mam wiele porad, ale żaden nie działa dla mnie. Utworzona przeze mnie usługa Windows ma wiele zależności i chciałbym, aby klient nie miał interakcji z interfejsem użytkownika podczas instalacji. Stworzyłem projekt instalacji, który zawiera wszystkie moje zależności w instalatorze.Jaki jest najlepszy sposób automatyzacji wdrażania usług Windows?
Proces zaangażowany:
- Tworzenie kompilacji dla usługi windows
- popchnąć plik instalacyjny (msi) do zdalnej lokalizacji
- połączeń .msi i zainstalować usługę cicho bez interakcji z użytkownikiem.
co zrobiłem do tej pory:
- Utworzono skryptu powershell do pchania plików do zdalnej lokalizacji
- Wykonanie skryptu PowerShell, a następnie zainstalować usługę
Proszę pamiętać, że PowerShell skrypt
sc create "servicename" binpath="somepath"
służy do instalowania usługi z katalogu projektu, a nie do instalowania pliku .msi utworzonego za pomocą programu Setup Project, są to dwie bardzo różne rzeczy. Jeśli tego nie rozumiesz, nie odpowiadaj proszę.
Możliwe rozwiązania:
- użytkowania (http://www.msbuildextensionpack.com/help/4.0.5.0/html/258a18b7-2cf7-330b-e6fe-8bc45db381b9.htm) msbuild rozszerzenie pakietu.
- Użyj buildcompuments, aby wywołać pakiet rozszerzenia msbuild, aby zainstalować usługę Windows.
- Zastosowanie (http://msdn.microsoft.com/en-us/library/x8zx72cd.aspx) Exec Zadanie
- Zastosowanie WIX (Windows Installer XML)
Teraz moje pytanie brzmi. Jak mogę przenieść instalator usług Windows do zdalnej lokalizacji? I w jaki sposób można tworzyć niestandardowe argumenty budowania i używać pakietu rozszerzenia msbuild lub zadania Exec i instalować usługę?
Wiem, że to brzmi głupio i irytująco dla kogoś, kto nie zainstalował usługi przy użyciu (.MSI) utworzonej przez Instalatora. Ale to moje wymagania, które próbuję rozwiązać od tygodni w środowisku korporacyjnym.
Czy odniosłeś sukces w automatyzacji wdrażania usługi Windows? – bhupinder