Creare un file del programma di installazione app manualmente

Questo articolo illustra come creare manualmente un file del programma di installazione app che definisce un set correlato con funzionalità di creazione automatica e ripristino. Un set correlato non è un'entità, ma piuttosto una combinazione di pacchetti principali e pacchetti facoltativi.

Per poter installare un set correlato come un'entità, è necessario essere in grado di specificare il pacchetto principale e il pacchetto facoltativo come uno. A tale scopo, sarà necessario creare un file XML con un'estensione .appinstaller per definire un set correlato. Il programma di installazione dell'app usa il file *.appinstaller e consente all'utente di installare tutti i pacchetti definiti con un singolo clic.

Durante la distribuzione, il file del programma di installazione app:

  • Il pacchetto dell'app Windows a cui fa riferimento nell'attributo URI dell'elemento MainPackage > convalida gli PublisherNameattributi e Version degli attributi del pacchetto dell'app < Windows di destinazione. Se l'elemento Package/Identity nel manifesto del pacchetto app di Windows non corrisponde, l'installazione avrà esito negativo.
  • Creare un riferimento agli URI di aggiornamento e ripristino per la famiglia del pacchetto.

Come creare un file del programma di installazione app

Per distribuire il set correlato come un'entità, è necessario creare un file del programma di installazione app contenente gli elementi richiesti dallo schema del programma di installazione dell'app.

  1. Creare *. File AppInstaller.
  2. Specificare gli attributi del file del programma di installazione app.
  3. Specificare il pacchetto principale dell'app di Windows.
  4. Specificare il pacchetto facoltativo del set correlato.
  5. Specificare il pacchetto di Windows app Framework di dipendenza.
  6. Specificare i percorsi dell'URI di aggiornamento.
  7. Specificare i percorsi URI di ripristino.
  8. Specificare le impostazioni di aggiornamento.
Esempio di un file del programma di installazione app

Seguendo i passaggi indicati in precedenza, verrà creato correttamente un file del programma di installazione app simile al seguente:

<?xml version="1.0" encoding="utf-8"?>
<AppInstaller
    xmlns="http://schemas.microsoft.com/appx/appinstaller/2017/2"
    Version="1.0.0.0"
    Uri="http://mywebservice.azurewebsites.net/appset.appinstaller" >

    <MainBundle
        Name="Contoso.MainApp"
        Publisher="CN=Contoso"
        Version="2.23.12.43"
        Uri="http://mywebservice.azurewebsites.net/mainapp.msixbundle" />

    <OptionalPackages>
        <Bundle
            Name="Contoso.OptionalApp1"
            Publisher="CN=Contoso"
            Version="2.23.12.43"
            Uri="http://mywebservice.azurewebsites.net/OptionalApp1.msixbundle" />

        <Bundle
            Name="Contoso.OptionalApp2"
            Publisher="CN=Contoso"
            Version="2.23.12.43"
            Uri="http://mywebservice.azurewebsites.net/OptionalApp2.msixbundle" />

        <Package
            Name="Fabrikam.OptionalApp3"
            Publisher="CN=Fabrikam"
            Version="10.34.54.23"
            Uri="http://mywebservice.azurewebsites.net/OptionalApp3.msix"
            ProcessorArchitecture="x64" />
    </OptionalPackages>

    <UpdateURIs>
        <UpdateURI>http://mywebservice.azurewebsites.net/appset.appinstaller</UpdateURI>
        <UpdateURI>http://mywebservice2.azurewebsites.net/appset.appinstaller</UpdateURI>
    </UpdateURIs>

    <RepairURIs>
        <RepairURI>http://mywebservice.azurewebsites.net/appset.appinstaller</RepairURI>
        <RepairURI>http://mywebservice2.azurewebsites.net/appset.appinstaller</RepairURI>
    </RepairURIs>

    <UpdateSettings>
        <OnLaunch HoursBetweenUpdateChecks="0"/>   
    </UpdateSettings>

</AppInstaller>

Passaggio 1: Creare il file *.appinstaller

Usando un editor di testo (Notepad.exe), creare un nuovo file con un'estensione del nome file di *. AppInstaller

Procedura:
  1. Aprire il menu Start.
  2. Digitare quanto segue: notepad.exe.
  3. Aprire il menu File .
  4. Selezionare Salva con nome dal menu a discesa.

Passaggio 2: Aggiungere il modello di base

Includere l'elemento AppInstaller nel file del programma di installazione app che nota la versione, il percorso e il percorso di rete del file del programma di installazione app. Le informazioni nell'elemento verranno usate durante l'installazione AppInstaller delle app di Windows associate.

Elemento Descrizione
xmlns Spazio dei nomi XML
Versione Versione del file del programma di installazione app in una notazione quad-punteggiata (1.0.0.0.0).
URI Percorso URI del file del programma di installazione app corrente accessibile dal dispositivo.
Procedura:
  1. Aprire il file creato nel passaggio 1.

  2. Copiare il contenuto XML seguente nel file *. File AppInstaller .

    <?xml version="1.0" encoding="utf-8"?>
    <AppInstaller
        xmlns="http://schemas.microsoft.com/appx/appinstaller/2021"
        Version=""
        Uri="" >
    </AppInstaller>
    
  3. Aggiornare l'attributo Version con la versione del file del programma di installazione app

  4. Aggiornare l'attributo con il URI percorso di rete in cui si tratta di *. Il file AppInstaller sarà accessibile da.

Passaggio 3: Aggiungere le informazioni principali sul pacchetto

L'oggetto <MainPackage> e <MainBundle> viene usato per identificare l'app di Windows primaria che verrà installata usando il file del programma di installazione app. Viene <MainPackage> usato quando il programma di installazione di app di Windows è un oggetto *.msix o *.appx. Usare quando <MainBundle> il programma di installazione di app di Windows è un programma di installazione app windows in bundle, con un'estensione di *.msixbundle o *.appxbundle.

Elemento Descrizione
Nome Nome dell'applicazione primaria distribuita tramite il file del programma di installazione app. Questa operazione è disponibile eseguendo il cmdlet di PowerShell seguente: $(Get-AppxPackage [AppName]).Name.
Publisher Nome canonico del certificato di pubblicazione usato per firmare il programma di installazione dell'app di Windows primario. Questa operazione è disponibile eseguendo il cmdlet di PowerShell seguente: $(Get-AppxPackage [AppName]).Publisher.
Versione Versione del programma di installazione dell'app Windows primaria in una notazione con punti quad (1.0.0.0.0). Questa operazione è disponibile eseguendo il cmdlet di PowerShell seguente: $(Get-AppxPackage [AppName]).Version.
ProcessorArchitecture Architettura in cui è installato il programma di installazione dell'app di Windows primario.
URI Percorso URI del supporto di installazione dell'app di Windows primario.

Le informazioni nell'attributo o <MainPackage> devono corrispondere rispettivamente all'elemento <MainBundle>Package/Identity nel manifesto del bundle dell'app o del pacchetto dell'app.

Windows app Installer

Se il pacchetto dell'app principale è un file con estensione msix o appx, usare <MainPackage>, come illustrato di seguito. Assicurarsi di includere ProcessorArchitecture, perché è obbligatorio per i pacchetti non bundle.

<?xml version="1.0" encoding="utf-8"?>
<AppInstaller
    xmlns="http://schemas.microsoft.com/appx/appinstaller/2021"
    Version="1.0.0.0"
    Uri="http://mywebservice.azurewebsites.net/appset.appinstaller" >

    <MainPackage
        Name="Contoso.MainApp"
        Publisher="CN=Contoso"
        Version="2.23.12.43"
        ProcessorArchitecture="x64"
        Uri="http://mywebservice.azurewebsites.net/mainapp.msix" />

</AppInstaller>
Programma di installazione bundle di app Windows

Se il pacchetto principale dell'app è un file con estensione msixbundle o appxbundle, usare il <MainBundle> posto di <MainPackage> come illustrato di seguito. Per i bundle, ProcessorArchitecture non è obbligatorio.

<?xml version="1.0" encoding="utf-8"?>
<AppInstaller
    xmlns="http://schemas.microsoft.com/appx/appinstaller/2021"
    Version="1.0.0.0"
    Uri="http://mywebservice.azurewebsites.net/appset.appinstaller" >

    <MainBundle
        Name="Contoso.MainApp"
        Publisher="CN=Contoso"
        Version="2.23.12.43"
        Uri="http://mywebservice.azurewebsites.net/mainapp.msixbundle" />

</AppInstaller>

Passaggio 4: Aggiungere i pacchetti facoltativi

Analogamente all'attributo del pacchetto dell'app principale, se il pacchetto facoltativo può essere un pacchetto dell'app o un bundle di app, l'elemento figlio all'interno dell'attributo <OptionalPackages> deve essere <Package> o <Bundle> rispettivamente. Le informazioni sul pacchetto negli elementi figlio devono corrispondere all'elemento identity nel manifesto del bundle o del pacchetto.

Elemento Descrizione
Nome Nome dell'applicazione facoltativa distribuita in tramite il file del programma di installazione app. Questa operazione è disponibile eseguendo il cmdlet di PowerShell seguente: $(Get-AppxPackage [AppName]).Name.
Publisher Nome canonico del certificato di pubblicazione usato per firmare il programma di installazione di app di Windows facoltativo. Questa operazione è disponibile eseguendo il cmdlet di PowerShell seguente: $(Get-AppxPackage [AppName]).Publisher.
Versione Versione del programma di installazione dell'app di Windows facoltativa in una notazione con punti quad (1.0.0.0).0). Questa operazione è disponibile eseguendo il cmdlet di PowerShell seguente: $(Get-AppxPackage [AppName]).Version.
ProcessorArchitecture Architettura in cui è installato il programma di installazione dell'app di Windows facoltativo.
URI Percorso URI del supporto di installazione dell'app di Windows primario.
<?xml version="1.0" encoding="utf-8"?>
<AppInstaller
    xmlns="http://schemas.microsoft.com/appx/appinstaller/2021"
    Version="1.0.0.0"
    Uri="http://mywebservice.azurewebsites.net/appset.appinstaller" >

    <MainBundle
        Name="Contoso.MainApp"
        Publisher="CN=Contoso"
        Version="2.23.12.43"
        Uri="http://mywebservice.azurewebsites.net/mainapp.msixbundle" />

    <OptionalPackages>
        <Bundle
            Name="Contoso.OptionalApp1"
            Publisher="CN=Contoso"
            Version="2.23.12.43"
            Uri="http://mywebservice.azurewebsites.net/OptionalApp1.msixbundle" />

        <Package
            Name="Fabrikam.OptionalApp3"
            Publisher="CN=Fabrikam"
            Version="10.34.54.23"
            ProcessorArchitecture="x64"
            Uri="http://mywebservice.azurewebsites.net/OptionalApp3.msix" />

    </OptionalPackages>

</AppInstaller>

Passaggio 5: Aggiungere dipendenze

Nell'elemento dipendenze è possibile specificare i pacchetti di framework necessari per il pacchetto principale o i pacchetti facoltativi.

Elemento Descrizione
Nome Nome dell'applicazione di dipendenza distribuita in tramite il file del programma di installazione app. Questa operazione è disponibile eseguendo il cmdlet di PowerShell seguente: $(Get-AppxPackage [AppName]).Name.
Publisher Nome canonico del certificato dell'editore usato per firmare il programma di installazione delle app di Windows di dipendenza. A questo scopo, eseguire il cmdlet di PowerShell seguente: $(Get-AppxPackage [AppName]).Publisher.
Versione Versione del programma di installazione delle app di Windows di dipendenza in una notazione con punti quad (1.0.0.0). A questo scopo, eseguire il cmdlet di PowerShell seguente: $(Get-AppxPackage [AppName]).Version.
ProcessorArchitecture L'architettura in cui viene installato il programma di installazione delle app di Windows di dipendenza.
URI Percorso URI del supporto di installazione dell'app di Windows di dipendenza.
<?xml version="1.0" encoding="utf-8"?>
<AppInstaller
    xmlns="http://schemas.microsoft.com/appx/appinstaller/2021"
    Version="1.0.0.0"
    Uri="http://mywebservice.azurewebsites.net/appset.appinstaller" >

    <MainBundle
        Name="Contoso.MainApp"
        Publisher="CN=Contoso"
        Version="2.23.12.43"
        Uri="http://mywebservice.azurewebsites.net/mainapp.msixbundle" />

    <Dependencies>
        <Package 
            Name="Microsoft.VCLibs.140.00" 
            Publisher="CN=Microsoft Corporation, O=Microsoft Corporation, L=Redmond, S=Washington, C=US" 
            Version="14.0.24605.0" ProcessorArchitecture="x86" Uri="http://foobarbaz.com/fwkx86.appx" />
        <Package 
            Name="Microsoft.VCLibs.140.00" 
            Publisher="CN=Microsoft Corporation, O=Microsoft Corporation, L=Redmond, S=Washington, C=US" 
            Version="14.0.24605.0" 
            ProcessorArchitecture="x64" 
            Uri="http://foobarbaz.com/fwkx64.appx" />
    </Dependencies>

</AppInstaller>

Passaggio 6: Aggiungere l'impostazione di aggiornamento

Il file del programma di installazione app può anche specificare l'impostazione di aggiornamento in modo che i set correlati possano essere aggiornati automaticamente quando viene pubblicato un file più recente del programma di installazione app. <UpdateSettings> è un elemento facoltativo. In <UpdateSettings> l'opzione OnLaunch specifica che i controlli di aggiornamento devono essere eseguiti all'avvio dell'app e HoursBetweenUpdateChecks="12" specifica che è necessario eseguire un controllo di aggiornamento ogni 12 ore. Se HoursBetweenUpdateChecks non è specificato, l'intervallo predefinito usato per verificare la disponibilità di aggiornamenti è di 24 ore. Altri tipi di aggiornamenti, ad esempio gli aggiornamenti in background, sono disponibili nello schema Delle impostazioni di aggiornamento; Altri tipi di aggiornamenti all'avvio, ad esempio gli aggiornamenti con una richiesta, sono disponibili nello schema OnLaunch

Elementi Description
HoursBetweenUpdateChecks Definisce il divario minimo nei controlli di aggiornamento delle app di Windows.
UpdateBlocksActivation Definisce l'esperienza quando viene verificato un aggiornamento dell'app.
ShowPrompt Definisce se viene visualizzata una finestra quando vengono installati gli aggiornamenti e quando vengono controllati gli aggiornamenti.
ForceUpdateFromAnyVersion Specifica che la versione successiva dell'applicazione potrebbe essere una versione più recente o precedente. Se True, verranno installati tutti per entrambi, se False (impostazione predefinita), verranno installate solo le nuove versioni.
<?xml version="1.0" encoding="utf-8"?>
<AppInstaller
    xmlns="http://schemas.microsoft.com/appx/appinstaller/2021"
    Version="1.0.0.0"
    Uri="http://mywebservice.azurewebsites.net/appset.appinstaller" >

    <MainBundle
        Name="Contoso.MainApp"
        Publisher="CN=Contoso"
        Version="2.23.12.43"
        Uri="http://mywebservice.azurewebsites.net/mainapp.msixbundle" />

    <UpdateSettings>
        <OnLaunch 
            HoursBetweenUpdateChecks="12"
            UpdateBlocksActivation="true"
            ShowPrompt="true" />
        <AutomaticBackgroundTask />
        <ForceUpdateFromAnyVersion>true</ForceUpdateFromAnyVersion>
    </UpdateSettings>

</AppInstaller>

Passaggio 7: Aggiungere le impostazioni di aggiornamento automatico

Importante

Le impostazioni seguenti sono disponibili solo quando si usa lo schema 2021 in una build di Windows Insider di Windows 10.

Per impostazione predefinita, le app di Windows installate con un file del programma di installazione app verranno aggiornate dall'URI del programma di installazione app, conforme alle configurazioni impostate nel passaggio precedente. Gli URI di aggiornamento configurati in questo passaggio fungono da URI di fallback che possono essere usati se l'URI del programma di installazione app originale non è più accessibile. È possibile configurare un massimo di 10 URI di aggiornamento per qualsiasi app di Windows.

L'URI di aggiornamento deve essere destinato ai file del programma di installazione app.

Nota

Queste impostazioni funzionano solo quando lo schema è configurato come 2021 o versione successiva.

<?xml version="1.0" encoding="utf-8"?>
<AppInstaller
    xmlns="http://schemas.microsoft.com/appx/appinstaller/2021"
    Version="1.0.0.0"
    Uri="http://mywebservice.azurewebsites.net/appset.appinstaller" >

    <MainBundle
        Name="Contoso.MainApp"
        Publisher="CN=Contoso"
        Version="2.23.12.43"
        Uri="http://mywebservice.azurewebsites.net/mainapp.msixbundle" />

    <UpdateSettings>
        <OnLaunch 
            HoursBetweenUpdateChecks="12" />
    </UpdateSettings>

    <UpdateUris>
        <UpdateUri>https://www.contoso.com/Installers/MainApp.AppInstaller</UpdateUri>
        <UpdateUri>\\ServerName\Share\Installers\MainApp.AppInstaller</UpdateUri>
    </UpdateUris>

</AppInstaller>

Passaggio 8: Aggiungere le impostazioni di ripristino automatico

Importante

Le impostazioni seguenti sono disponibili solo quando si usa lo schema 2021 in una build di Windows Insider di Windows 10.

Le app di Windows installate in un dispositivo possono supportare il ripristino automatico dell'app di Windows quando viene manomesso. Il programma di installazione di origine che verrà usato per ripristinare l'app di Windows può essere configurato usando la <RepairURIs> proprietà . L'app di Windows tenterà di ripristinarsi in base all'URI del programma di installazione app, se inaccessibile, l'app di Windows userà l'URI di ripristino per identificare un'origine di ripristino. È possibile configurare un massimo di 10 URI di ripristino per qualsiasi app di Windows.

L'URI di ripristino può essere destinato ai file dell'app di Windows o del programma di installazione app. Questa impostazione non richiede che l'app di Windows sia stata installata usando un file del programma di installazione app.

<?xml version="1.0" encoding="utf-8"?>
<AppInstaller
    xmlns="http://schemas.microsoft.com/appx/appinstaller/2021"
    Version="1.0.0.0"
    Uri="http://mywebservice.azurewebsites.net/appset.appinstaller" >

    <MainBundle
        Name="Contoso.MainApp"
        Publisher="CN=Contoso"
        Version="2.23.12.43"
        Uri="http://mywebservice.azurewebsites.net/mainapp.msixbundle" />

    <UpdateSettings>
        <OnLaunch 
            HoursBetweenUpdateChecks="12" />
    </UpdateSettings>

    <RepairUris>
        <RepairUri></RepairUri>
        <RepairUri></RepairUri>
    </RepairUris>

</AppInstaller>

Per tutti i dettagli su XML Schema, vedere Informazioni di riferimento sul file del programma di installazione app.

Nota

Il tipo di file del programma di installazione app è nuovo in Windows 10 versione 1709 (il Windows 10 Fall Creators Update). Non è disponibile alcun supporto per la distribuzione di app Windows 10 usando un file del programma di installazione app nelle versioni precedenti di Windows 10. L'elemento HoursBetweenUpdateChecks è disponibile a partire da Windows 10 versione 1803.