Condividi tramite


Procedura: Aggiungere programmi di installazione all'applicazione di servizio

Annotazioni

Questo articolo non si applica ai servizi ospitati in .NET. Per il contenuto più recente nei servizi Windows che usano Microsoft.Extensions.Hosting.BackgroundService e il modello di servizio di lavoro, vedere:

Visual Studio include componenti di installazione che possono installare le risorse associate alle applicazioni di servizio. I componenti di installazione registrano un singolo servizio nel sistema in cui è in corso l'installazione e comunicano a Gestione controllo servizi che il servizio esiste. Quando si usa un'applicazione di servizio, è possibile selezionare un collegamento nella finestra Proprietà per aggiungere automaticamente i programmi di installazione appropriati al progetto.

Annotazioni

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, non vengono aggiornati automaticamente nel programma di installazione.

Quando si aggiunge un programma di installazione al progetto, viene creata una nuova classe ( denominata per impostazione predefinita ProjectInstaller) nel progetto e le istanze dei componenti di installazione appropriati vengono create al suo interno. Questa classe funge da punto centrale per tutti i componenti di installazione necessari per il 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 del programma di installazione; Al contrario, il componente di installazione aggiuntivo necessario per il secondo servizio viene aggiunto alla classe esistente.

Non è necessario eseguire codice speciale all'interno dei programmi di installazione per installare correttamente i servizi. Tuttavia, può essere necessario modificare occasionalmente il contenuto dei programmi di installazione se è necessario aggiungere funzionalità speciali al processo di installazione.

Annotazioni

Le finestre di dialogo e i comandi di menu visualizzati potrebbero differire da quelli descritti nella Guida in base alle impostazioni o all'edizione attiva. 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 stesso, anziché uno dei relativi contenuti.

  3. Con il designer in focus, fare clic con il pulsante destro del mouse e quindi scegliere Aggiungi installer.

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

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

  5. Per determinare la modalità di avvio del servizio, fare clic sul ServiceInstaller componente e impostare la StartType proprietà sul valore appropriato.

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

  7. Eseguire l'override di tutti i metodi per i quali è necessario eseguire l'elaborazione personalizzata.

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

    Annotazioni

    Per ogni servizio aggiuntivo nel progetto, è necessario aggiungere un componente aggiuntivo ServiceInstaller alla classe del ProjectInstaller progetto. Il ServiceProcessInstaller componente aggiunto al terzo passaggio è compatibile con tutti gli installatori dei servizi nel progetto.

Vedere anche