Jump to: navigation, search

Create windows service

COME CREARE UN SERVIZIO WINDOWS CON .NET


1) Creare un progetto di tipo Windows Service a. Assicurarsi che le operazioni vengano eseguite esternamente al metodo Start. Per far ciò consiglio di usare i Thread . b. Assicurarsi di terminare il thread nel metodo Stop .

2) Creare il ServiceInstaller. Per fare ciò, fare tasto destro sul file Service1.cs (non si deve visualizzare il codice del servizio, ma il designer). Una volta aperto, fare tasto desto sulla pagina e selezionare “Add Installer”.

Img1.jpg


3) Fatto ciò, verrà creato il file ProjectInstaller.cs. Aprirlo visualizzando il designer. Saranno presenti due elementi: ServiceInstaller e ServiceProcessInstaller. a. ServiceInstaller per settare le proprietà del servizio quali Nome, Descrizione, Nome visualizzato nell’elenco dei servizi, modalità di avvio (manuale, automatico) b. ServiceProcessInstaller per settare il tipo di account del servizio (Local System, Network Service, Local Service, User) c. Per settarle si devono aprire le proprietà facendo tasto destro su ciascun elemento.


4) Ora sarebbe consigliabile creare il setup in modo tale da installare il servizio in maniera automatica. Per far ciò si deve aggiungere alla soluzione un SetupProject.


Img2.jpg


5) Aggiunto il progetto, fare tasto destro sul nome del progetto appena creato e, dal menu, selezionare View -> File System. Si aprirà una pagina di questo genere.

Img3.jpg

a. Ora, dall’elenco di sinistra, fare tasto destro sulla prima voce “Application Folder” e selezionare Add -> Project Output. Dalla finestra che si aprirà, selezionare dal menu a tendina il progetto del servizio e quindi selezionare dall’elenco sottostante Primary Output, lasciando la Configuration selezionata (di default Active, se così non fosse selezionarla).

b. Fatto ciò, fare nuovamente tasto destro sul nome del progetto di setup e selezionare View -> Custom Actions. Si aprirà una finestra simile alla precedente. Dal menu di sinistra, fare tasto destro sulla voce Install e selezionare Add Custom Actions; si aprirà una finestra nella quale sfogliare il ramo Application Folder finché non trovate il Primary Output creato al passo precedente. Una volta selezionato, il Primary Output comparirà come nodo figlio del ramo Install.

c. Ora è tutto pronto per compilare la soluzione. Se non ci sono errori, trovere il file Setup.exe ed il nomeprogettosetup.msi con cui installare il servizio.