Jak zainstalować program Windows automatycznie, bez użycia installutil.exe?Programowe instalowanie usługi Windows
Odpowiedz
Można zainstalować usługę dodając ten kod (w pliku programu Program.cs), aby zainstalować się po uruchomieniu z linii poleceń za pomocą określonych parametrów:
/// <summary>
/// The main entry point for the application.
/// </summary>
static void Main(string[] args)
{
if (System.Environment.UserInteractive)
{
if (args.Length > 0)
{
switch (args[0])
{
case "-install":
{
ManagedInstallerClass.InstallHelper(new string[] { Assembly.GetExecutingAssembly().Location });
break;
}
case "-uninstall":
{
ManagedInstallerClass.InstallHelper(new string[] { "/u", Assembly.GetExecutingAssembly().Location });
break;
}
}
}
}
else
{
ServiceBase[] ServicesToRun;
ServicesToRun = new ServiceBase[] { new MyService() };
ServiceBase.Run(ServicesToRun);
}
}
To łącze jest wyłączone. –
Mimo że jest to jasny i odpowiedni sposób na to, zamiast używać advapi32.dll "niskiego poziomu", dokumentacja ramowa mówi "To API obsługuje infrastrukturę .NET Framework i nie jest przeznaczone do użycia bezpośrednio z twojego kodu.". Nadal jednak preferuję "ManagedInstallerClass" i ryzyko związane z przyszłymi niezgodnościami w nowych wersjach .net. (http://msdn.microsoft.com/pt-br/library/system.configuration.install.managedinstallerclass) – Luciano
Instaluję i odinstalowuję usługę Windows za pomocą wiersza poleceń, np. MyWindowsService.exe -install
i MyWindowsService.exe -uninstall
, aby uniknąć samodzielnego korzystania z installutil.exe
. Napisałem zestaw instrukcji, jak to zrobić here.
OP zapytał, jak to zrobić programowo, nie za pomocą wiersza poleceń. – Mike
Moje rozwiązanie to programowe rozwiązanie, do którego można uzyskać dostęp za pośrednictwem wiersza poleceń w taki sam sposób, jak przyjęta odpowiedź. –
używam metody z poniższego CodeProject artykuł i działa świetnie.
Świetny link; jednak odwołuje się do linku napisanego przez Mahmouda Nasra, który jest zepsuty. Użyłem tego i działa dla mnie. https://msdn.microsoft.com/en-us/library/zt39148a(v=vs.110).aspx?cs-save-lang=1&cs-lang=csharp#code-snippet-1 –
Podczas gdy ten link może odpowiadać pytanie, lepiej w tym miejscu umieścić istotne części odpowiedzi i podać odsyłacz do odniesienia. Odpowiedzi dotyczące linków mogą stać się nieprawidłowe, jeśli strona z linkami się zmieni. - [Z recenzji] (/ opinia/niskiej jakości-posts/18705889) – amod
- 1. Instalowanie usługi .net Windows z folderem lib
- 2. Czy jest możliwe programowe ustawienie konta użytkownika dla usługi Windows?
- 3. Instalowanie usługi systemu Windows przy użyciu pliku wsadowego?
- 4. usługi Windows Problem Instalacja
- 5. Usługi Windows na EC2?
- 6. Instalowanie maven na Windows 7 64bit
- 7. Instalowanie IPython 0.12 na Windows 7 64
- 8. Instalowanie OpenCV jako rozszerzenie php pod Windows
- 9. Instalowanie środowiska Python/Sphinx w systemie Windows?
- 10. Instalowanie ModSecurity z OWASP dla Windows
- 11. Szyny w systemie Windows - instalowanie wydania
- 12. Instalowanie OSQA w systemie Windows (lokalny system)
- 13. Instalowanie wtyczki patogenu vim w systemie Windows
- 14. Instalowanie gensim w systemie Windows 7
- 15. Instalowanie buforów protokołów w systemie Windows
- 16. Instalowanie usługi Windows na zdalnym komputerze przy użyciu podanej nazwy użytkownika
- 17. Instalowanie obsługi Java w systemie Windows 7 z NSSM
- 18. Instalowanie wielotrybowej usługi NT przy użyciu WiX (2.0)
- 19. Instalowanie certyfikatów klienta w aplikacjach XAML aplikacji Sklep Windows
- 20. Prawidłowy sposób odinstalowania usługi Windows?
- 21. Inno Setup dla usługi Windows?
- 22. Ręczne tworzenie usługi Apache Windows
- 23. Usługi Open Services systemu Windows
- 24. Automatyczna aktualizacja usługi systemu Windows
- 25. Nieobsługiwany wyjątek w usługi Windows
- 26. Sterowanie programowe serwerów aplikacji
- 27. Instalowanie numpy
- 28. Programowe uzyskiwanie czasu uruchamiania systemu w języku C++ (Windows)
- 29. Programowe pobieranie statystyk dysku i procesu w systemie Windows?
- 30. Projekt instalacji usługi Windows - uruchamianie usługi jako administrator
Nie używasz innych instalatorów innych firm? –
tak ... chciałbym móc użyć funkcji takiej jak installservice() i gdy dwukrotnie klikam na windowsservice.exe, sprawdza on, czy jest zainstalowany, jeśli nie jest zainstalowany, sam się instaluje. – Josh
to jest jedna dobra funkcja :) :) – Danail