Usługa Windows nie pojawia się na liście usług po instalacji

Stworzyłem usługę windows w c#, używając Visual Studio 2008 Śledziłem to.: http://www.codeproject.com/KB/dotnet/simplewindowsservice.aspx

Stworzyłem projekt instalacji, zgodnie z Instrukcją w artykule, i uruchomiłem go... instaluje mój serwis do c:\program files\product etc.... nie pojawia się jednak wówczas na liście usług..

Co mi umyka?

Author: Amar Palsapure, 2009-10-13

8 answers

Najważniejsza część artykułu, który podlinkowałeś, znajduje się tutaj

Aby dodać akcję niestandardową do projektu setup

1.In Solution Explorer, kliknij prawym przyciskiem myszy projekt instalacji, wskaż, aby wyświetlić, a następnie wybierz akcje niestandardowe. Zwyczaj Zostanie wyświetlony edytor akcji.

2.In edytor niestandardowych działań, kliknij prawym przyciskiem myszy węzeł niestandardowe działania i wybierz Dodaj niestandardową akcję. Na Wybierz element w oknie dialogowym projekt pojawia się.

3.Kliknij dwukrotnie folder aplikacji w polu listy, aby go otworzyć, wybierz podstawowe wyjście z MyNewService (Aktywny) i kliknij OK. The primary wyjście jest dodawane do wszystkich czterech węzłów niestandardowe akcje install, Commit, Wycofaj i odinstaluj.

4.Zbuduj projekt instalacji.

Jeśli pominiesz te kroki, Twój projekt instalacyjny zbuduje i skopiuje Twoje pliki do odpowiedniego katalogu; jednak nie zarejestrują one Twojego pliku binarnego jako usługi bez tych kroków.


Należy również zauważyć, że działa to w starszych wersjach Visual Studio, które miały / mają wbudowany szablon projektu instalacji / wdrożenia. Nowsze wersje programu Visual Studio mają różne projekty konfiguracji/wdrożenia (niektóre wymagają oprogramowania innych firm.)

Polecam zajrzeć do WiX Toolset i sprawdzić tutaj dla WiX instalacji usług Windows.

 94
Author: Nate,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-01-22 17:01:43

Dostałem w twarz przez ten jeden, więc umieszczam go tutaj, na wypadek, gdyby ktoś inny wpadł na to.

Jeśli postępujesz zgodnie z instrukcjami w przewodnikach, ale nadal masz problemy z instalacją, upewnij się, że Twoja klasa instalatora jest publiczna. Wewnętrzny nie zadziała.

 6
Author: Sam Pearson,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2010-03-11 20:12:20

Miałem ten sam problem i zdałem sobie sprawę, że nigdy nie ustawiłem rodzica dla ServiceInstaller.

Kliknij dwukrotnie na instalatorze projektu. Projektant powinien pokazać Instalator usługi i Instalator procesu. Po kliknięciu jednego z nich i wyświetleniu właściwości należy zwrócić uwagę na atrybut nadrzędny, który musi być ustawiony na nazwę klasy Instalatora projektu.

Lub, jeśli zrobisz to w kodzie, upewnij się, że ustawiłeś:

serviceInstaller.Parent = this;

I

serviceProcessInstaller.Parent = this;
 5
Author: cbillowes,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-03-20 18:29:09

Podczas instalowania usług, zdecydowanie polecam użycie NSSM , które działało dobrze dla mnie dla wszystkich moich potrzeb WinService. Może zainstalować dowolny plik wykonywalny (nawet jeśli .bat,cmd) jako usługa i gwarantuje, że usługa jest zawsze uruchomiona.

Aby użyć tego narzędzia:

  1. Pobierz z tutaj

  2. I postępuj zgodnie z instrukcjami tutaj

Następnie sprawdź listę usług, powinna tam być, działać i działać.

 3
Author: Zafar,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-01-30 21:41:12

Postępuj zgodnie z tymi instrukcjami, zadziałały dla mnie. Specjalnie dla konfiguracji ta część znajduje się na dole artykułu.

MSDN: Walkthrough: Tworzenie usługi Windows

 1
Author: Jon Seigel,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2009-10-13 14:00:56

W Visual Studio 2013 napotkałem ten sam problem używając szablonu InstallShield dla aplikacji serwisowej. Ale to działa jak urok przy użyciu szablonu projektu Setup https://visualstudiogallery.msdn.microsoft.com/9abe329c-9bba-44a1-be59-0fbf6151054d

Więc pobierz szablon projektu instalacji zamknij Studio, uruchom tę instalację i uruchom Studio, to zadziała.

Dunn.

 0
Author: Dung,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-06-12 15:06:37

Oto dobry tutorial od tgeek001 z CodeProject.com to mi pomogło. Zawiera kilka rzeczy, których nie widziałem w postach powyżej: 1. Kod obsługi zdarzenia, aby zatrzymać usługę przed jej odinstalowaniem 2. Specyficzne warunki i właściwości w niestandardowym kodzie działań, aby zapobiec awariom (Naprawiono błąd 1001, który doświadczyłem podczas wykonywania instrukcji w zaakceptowanej odpowiedzi powyżej) 3. Win service property" Remove Previous Version " rozwijane ustawienie na true

Http://www.codeproject.com/Tips/575177/Window-Service-Deployment-using-VS

Poniżej znajduje się samouczek dla niestandardowych ustawień akcji (case matters):

  • zainstaluj, ustaw właściwość Condition na następującą: "NOT (Installed or PREVIOUSVERSIONSINSTALLED)"
  • Odinstaluj, ustaw właściwość Condition na: "NOT UPGRADINGPRODUCTCODE"
  • Commit: ustaw pole "Custom Action Data" na: / OldProductCode="[PREVIOUSVERSIONSINSTALLED] "

Na koniec, w projekcie WinService, upewnij się, że menu rozwijane "Usuń poprzednie wersje" ma wartość true.

Cheers

 0
Author: sondlerd,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-09-28 13:32:18

Odkryłem, że twoja klasa instalatora jest w tym samym projekcie co usługa. Instalator nie może istnieć w projekcie biblioteki, do którego odnosi się Usługa.

 0
Author: kspearrin,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-08-28 18:55:52