sobota 30. července 2016

Windows Service od A do Z

Vytvoření

  1. Vytvoření aplikace WindowsService
  2. Vytvoření instalačních metod
  3. Přidání Log4Net z NuGetu
  4. Windows ServiceInstallProjectSetupService
Service1.Designer
ServiceName = "Service1"; // je potřeba změnit - ukazuje se potom v EventLogu

Po Instalaci

Po instalaci se do EventLogu zapíše zpráva s podrobnostmi instalace služby 
Do systému byla nainstalována služba.
Název služby:  MailService
Název souboru služby:  "D:\MailService\MailService\bin\Debug\MailService.exe"
Typ služby: služba v uživatelském režimu
Typ spouštění služby:  automatické spouštění
Účet služby:  LocalSystem

ServiceInstaller

DisplayName - Zobrazuje se v seznamu služeb
Description - Zobrazuje se v seznamu služeb jako popis
ServiceName - Použije se při spouštění a zastavování služby pomocí Net Start, ...
StartType [Boot, System, Automatic, Manual, Disable]

serviceProcessInstaller1

Nastavuje pod jakým typem uživatelského účtu se služba nainstaluje
Account [User, LocalService, NetworkService, LocalSystem]

Instalaci služby pomocí NET START je dobré spouštět jako administrátor. Ten má totiž právo vytvořit v EventLogu zdroj (Source) záznamů v EventLogu. Jinak instalace neproběhne a skončí chybou:
V průběhu instalační fáze došlo k výjimce.
System.InvalidOperationException: Správce služeb v počítači . nelze otevřít. Tato operace pravděpodobně vyžaduje další oprávnění.
Byla vyvolána vnitřní výjimka System.ComponentModel.Win32Exception. Chybová zpráva: Přístup byl odepřen


Setup ProjectInstall Shield



Testování

spuštění procesu

Nástroje

InstallUtil
Instalace služby bz setupu
https://msdn.microsoft.com/cs-cz/library/sd8zc8ha(v=vs.110).aspx

NetStat
Spuštění a zastavení služby

MSIExec
Instalace MSI balíčku

Zdroje:

MSI
http://stackoverflow.com/questions/8560166/silent-installation-of-a-msi-package

InstallShield - instalace služby
http://blogs.flexerasoftware.com/installtalk/2012/11/using-installshield-to-create-an-installation-that-installs-windows-services.html

Žádné komentáře:

Okomentovat