Condividi tramite


Procedura: aggiungere programmi di installazione all'applicazione di servizio

Nota

Questo articolo non si applica ai servizi ospitati in .NET. Per i contenuti più recenti sui servizi Windows che usano Microsoft.Extensions.Hosting.BackgroundService e il modello worker service, vedere:

Visual Studio include componenti di installazione che consentono di installare le risorse associate alle applicazioni di servizio. I componenti di installazione registrano un singolo servizio nel sistema in cui viene installato e informazione Gestione controllo servizi dell'esistenza del servizio. Quando si lavora con un'applicazione di servizio, è possibile selezionare un collegamento nella finestra Proprietà per aggiungere automaticamente i programmi di installazione appropriati al progetto.

Nota

I valori delle proprietà per il servizio vengono copiati dalla classe del servizio alla classe del programma di installazione. Se si aggiornano i valori delle proprietà nella classe del servizio, essi non vengono aggiornati automaticamente nel programma di installazione.

Quando si aggiunge un programma di installazione al progetto, nel progetto viene creata una nuova classe (denominata ProjectInstaller per impostazione predefinita) e all'interno di tale classe vengono create le istanze dei componenti di installazione appropriati. Questa classe funge da punto centrale per tutti i componenti di installazione richiesti dal progetto. Ad esempio, se si aggiunge un secondo servizio all'applicazione e si fa clic sul collegamento Aggiungi programma di installazione, non viene creata una seconda classe per il programma di installazione, ma il componente di installazione aggiuntivo necessario per il secondo servizio viene invece aggiunto alla classe esistente.

Non è necessario codice specifico all'interno dei programmi di installazione per installare correttamente i servizi. Tuttavia, in alcuni casi potrebbe essere necessario modificare il contenuto dei programmi di installazione se è necessario aggiungere funzionalità speciali al processo di installazione.

Nota

È possibile che le finestre di dialogo e i comandi di menu visualizzati varino da quelli descritti nella Guida a seconda delle impostazioni attive o dell'edizione del programma. Per modificare le impostazioni, scegliere Importa/Esporta impostazioni dal menu Strumenti . Per altre informazioni, vedere Personalizzare l'IDE di Visual Studio.

Per aggiungere programmi di installazione all'applicazione di servizio

  1. In Esplora soluzioni accedere alla visualizzazione Progettazione per il servizio per il quale si vuole aggiungere un componente di installazione.

  2. Fare clic sullo sfondo della finestra di progettazione per selezionare il servizio anziché il suo contenuto.

  3. Nella finestra di progettazione fare clic con il pulsante destro del mouse e scegliere Aggiungi programma di installazione.

    Al progetto vengono aggiunti una nuova classe ProjectInstaller e due componenti di installazione, ServiceProcessInstaller e ServiceInstaller, quindi i valori delle proprietà per il servizio vengono copiati nei componenti.

  4. Fare clic sul componente ServiceInstaller e verificare che il valore della proprietà ServiceName sia impostato sullo stesso valore della proprietà ServiceName del servizio stesso.

  5. Per determinare come verrà avviato il servizio, fare clic sul componente ServiceInstaller e impostare la proprietà StartType sul valore appropriato.

    Valore Risultato
    Manual Il servizio deve essere avviato manualmente dopo l'installazione. Per altre informazioni, vedere Procedura: Avviare servizi.
    Automatic Il servizio verrà avviato automaticamente a ogni riavvio del computer.
    Disabled Impossibile avviare il servizio.
  6. Per determinare il contesto di sicurezza in cui verrà eseguito il servizio, fare clic sul componente ServiceProcessInstaller e impostare i valori di proprietà appropriati. Per altre informazioni, vedere Procedura: Specificare il contesto di sicurezza per i servizi.

  7. Eseguire l'override degli eventuali metodi che richiedono un'elaborazione personalizzata.

  8. Eseguire i passaggi da 1 a 7 per ogni servizio aggiuntivo nel progetto.

    Nota

    Per ogni servizio aggiuntivo nel progetto, è necessario aggiungere un ulteriore componente ServiceInstaller alla classe ProjectInstaller del progetto. Il componente ServiceProcessInstaller aggiunto nel passaggio 3 funziona con tutti i programmi di installazione dei singoli servizi nel progetto.

Vedi anche