Creare pacchetti del programma di avvio automatico personalizzati

Il programma di installazione è un programma generico che può essere configurato per rilevare e installare componenti ridistribuibili quali file di Windows Installer (.msi) e programmi eseguibili. Il programma di installazione è noto anche come programma di avvio automatico. Viene programmato con un set di manifesti XML che specificano i metadati per gestire l'installazione del componente. Ogni componente ridistribuibile o prerequisito visualizzato nella finestra di dialogo Prerequisiti per ClickOnce è un pacchetto del programma di avvio automatico. Un pacchetto del programma di avvio automatico è un gruppo di directory e file che contengono i file manifesto in cui è descritto come deve essere installato il prerequisito.

Il programma di avvio automatico prima rileva se i prerequisiti sono già installati. Se i prerequisiti non sono installati, visualizza prima i contratti di licenza. Successivamente, dopo che l'utente finale accetta i contratti di licenza, ha inizio l'installazione dei prerequisiti. Se invece tutti i prerequisiti vengono rilevati, viene semplicemente avviato il programma di installazione dell'applicazione.

Creare pacchetti del programma di avvio automatico personalizzati

È possibile generare i manifesti del programma di avvio automatico usando l'editor XML in Visual Studio. Per un esempio di creazione di un pacchetto del programma di avvio automatico, vedere Procedura dettagliata: Creare un programma di avvio automatico personalizzato con una richiesta di privacy.

Per creare un pacchetto del programma di avvio automatico, è necessario creare un manifesto del prodotto e, anche per ogni versione localizzata di un componente, un manifesto del pacchetto.

  • Il manifesto del prodotto, product.xml, contiene tutti i metadati indipendenti dalla lingua per il pacchetto. Questo file contiene i metadati comuni a tutte le versioni localizzate del componente ridistribuibile. Per creare questo file, vedere Procedura: Creare un manifesto del prodotto.

  • Il manifesto del pacchetto, package.xml, contiene metadati specifici della lingua, che in genere contiene messaggi di errore localizzati. Deve essere disponibile almeno un manifesto del pacchetto per ogni versione localizzata del componente. Per creare questo file, vedere Procedura: Creare un manifesto del pacchetto.

Dopo aver creato questi file, inserire il file manifesto del prodotto in una cartella denominata per il programma di avvio automatico personalizzato. Il file manifesto del pacchetto deve essere inserito in una cartella denominata per le impostazioni locali. Ad esempio, se il file manifesto del pacchetto è destinato alla ridistribuzione in inglese, inserire il file in una cartella denominata en. Ripetere questo processo per ogni impostazione locale, ad esempio ja per il giapponese e de per il tedesco. Il pacchetto del programma di avvio automatico personalizzato finale potrebbe avere la struttura di cartelle seguente.

CustomBootstrapperPackage
  product.xml
  CustomBootstrapper.msi
  de
    eula.rtf
    package.xml
  en
    eula.rtf
    package.xml
  ja
    eula.rtf
    package.xml

Copiare quindi i file ridistribuibili nel percorso della cartella del programma di avvio automatico. Per altre informazioni, vedere Procedura: Creare un pacchetto localizzato del programma di avvio automatico.

*\Program Files (x86)\Microsoft SDKs\ClickOnce Bootstrapper\Packages*

oppure

*<VS Install Path>\MSBuild\Microsoft\VisualStudio\BootstrapperPackages*

Nota

Il percorso riportato sopra nel percorso di installazione di Visual Studio funziona a partire dalla versione di Visual Studio 2019 Update 7.

È anche possibile trovare il percorso della cartella del programma di avvio automatico dal valore Path nella chiave del Registro di sistema seguente:

*HKLM\Software\Microsoft\GenericBootstrapper*

Nei sistemi a 64 bit, usare la chiave del Registro di sistema seguente:

*HKLM\Software\Wow6432Node\Microsoft\GenericBootstrapper*

Ciascun componente ridistribuibile viene mostrato nella propria sottocartella nella directory dei pacchetti. Il manifesto del prodotto e i file ridistribuibili devono essere inseriti in questa sottocartella. Le versioni localizzate del componente e dei manifesti del pacchetto devono essere inserite in sottocartelle denominate in base al nome delle impostazioni cultura.

Dopo aver copiato i file nella cartella del programma di avvio automatico, il relativo pacchetto viene visualizzato automaticamente nella finestra di dialogo Prerequisiti in Visual Studio. Se il pacchetto del programma di avvio automatico personalizzato non viene visualizzato, chiudere e riaprire la finestra di dialogo Prerequisiti. Per altre informazioni, vedere Finestra di dialogo Prerequisiti.

La tabella seguente illustra le proprietà popolate automaticamente dal programma di avvio automatico.

Proprietà Descrizione
ApplicationName Il nome dell'applicazione.
ProcessorArchitecture Processore e bit per parola della piattaforma di destinazione di un file eseguibile. Sono inclusi i valori seguenti:

- Intel
- IA64
- AMD64
VersionNT Numero di versione per i sistemi operativi Windows. La sintassi della versione è Principale.Secondario.ServicePack.
VersionMSI Versione dell'assembly di Windows Installer (msi.dll) da eseguire durante l'installazione.
AdminUser Questa proprietà viene impostata se l'utente ha i privilegi di amministratore. I valori sono true o false.
InstallMode La modalità di installazione indica il percorso dal quale deve essere installato il componente. Sono inclusi i valori seguenti:

- HomeSite: i prerequisiti vengono installati dal sito Web del fornitore.
- SpecificSite: i prerequisiti vengono installati dal percorso selezionato.
- SameSite: i prerequisiti vengono installati dallo stesso percorso dell'applicazione.

Separare i ridistribuibili dalle installazioni di applicazioni

Per impedire che i file ridistribuibili vengano distribuiti nei progetti di installazione, creare un elenco di ridistribuibili nella cartella RedistList situata nella directory di .NET Framework:

%ProgramFiles%\Microsoft.NET\RedistList

L'elenco ridistribuibile è un file XML da assegnare al formato seguente: <Nome> società.<Nome> componente. RedistList.xml. Quindi, se ad esempio il nome del componente è Datawidgets e la società che lo produce è Acme, usare il nome Acme.DataWidgets.RedistList.xml. Ecco un esempio del possibile contenuto dell'elenco dei file ridistribuibili:

<?xml version="1.0" encoding="UTF-8"?>
<FileList Redist="Acme.DataWidgets" >
<File AssemblyName="Acme.DataGrid" Version="1.0.0.0" PublicKeyToken="b03f5f7f11d50a3a" Culture="neutral" ProcessorArchitecture="MSIL" InGAC="true" />
</FileList>