Creare un file del programma di installazione app manualmente

Questo articolo illustra come creare manualmente un file Programma di installazione app che definisce un set correlato con funzionalità di aggiornamento automatico e ripristino. Un set correlato non è un'entità, ma piuttosto una combinazione di un pacchetto principale e pacchetti facoltativi.

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

Durante la distribuzione, il file Programma di installazione app:

  • Il Windows dell'app di destinazione a cui si fa riferimento nell'attributo dell'elemento > MainPackage di < convaliderà e degli attributi package dell'app Windows URI Name Publisher Version destinazione. Se l'elemento Package/Identity nel manifesto Windows'app 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 Programma di installazione app

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

  1. Creare il file *. File AppInstaller.
  2. Specificare gli attributi Programma di installazione app file di dati.
  3. Specificare il pacchetto dell Windows app principale.
  4. Specificare il set correlato Pacchetto facoltativo.
  5. Specificare la dipendenza Windows pacchetto del framework dell'app.
  6. Specificare i percorsi dell'URI di aggiornamento.
  7. Specificare i percorsi URI di ripristino.
  8. Specificare il nome Impostazioni.
Esempio di file Programma di installazione app

Seguendo i passaggi descritti in precedenza, sarà stato creato un file 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 estensione *. 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 nel file Programma di installazione app che indica la versione, il percorso e il percorso di rete AppInstaller del file Programma di installazione app file. Le informazioni AppInstaller nell'elemento verranno utilizzate durante l'installazione delle app Windows associate.

Elemento Descrizione
xmlns Spazio dei nomi XML
Version Versione del file Programma di installazione app in una notazione a quattro punti (1.0.0.0).
URI Percorso URI del file di Programma di installazione app corrente, accessibile dal dispositivo.
Procedura:
  1. Aprire il file creato nel passaggio 1.

  2. Copiare il contenuto XML seguente in *. File AppInstaller.

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

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

Passaggio 3: Aggiungere le informazioni principali sul pacchetto

E <MainPackage> vengono usati per identificare <MainBundle> l'app Windows primaria che verrà installata usando il file Programma di installazione app. Viene <MainPackage> usato quando il programma di Windows'app è *.msix o *.appx. Usare quando il programma di installazione dell'app Windows è un programma di installazione di app Windows in bundle, con estensione <MainBundle> *msixbundle o *appxbundle.

Elemento Descrizione
Nome Nome dell'applicazione primaria in cui viene distribuita tramite il file Programma di installazione app primario. A tale scopo, eseguire il cmdlet di PowerShell seguente: $(Get-AppxPackage [AppName]).Name .
Publisher Nome canonico del certificato dell'editore usato per firmare il programma di installazione dell Windows app primaria. A tale scopo, eseguire il cmdlet di PowerShell seguente: $(Get-AppxPackage [AppName]).Publisher .
Versione Versione del programma di installazione dell Windows app principale in una notazione a quattro punti (1.0.0.0). A tale scopo, eseguire il cmdlet di PowerShell seguente: $(Get-AppxPackage [AppName]).Version .
ProcessorArchitecture Architettura in cui viene installato il Windows di installazione dell'app primaria.
URI Percorso URI del supporto di installazione dell Windows app primaria.

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

Windows programma di installazione dell'app

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>
Windows di installazione bundle dell'app

Se il pacchetto dell'app principale è un file con estensione msixbundle o appxbundle o , usare al posto di come <MainBundle> <MainPackage> illustrato di seguito. Per le aggregazioni, 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 dell'app, l'elemento figlio all'interno dell'attributo deve essere <OptionalPackages> <Package> <Bundle> rispettivamente o . Le informazioni sul pacchetto negli elementi figlio devono corrispondere all'elemento Identity nel manifesto del pacchetto o del bundle.

Elemento Descrizione
Nome Nome dell'applicazione facoltativa in cui viene distribuita tramite il Programma di installazione app file. A tale scopo, eseguire il cmdlet di PowerShell seguente: $(Get-AppxPackage [AppName]).Name .
Publisher Nome canonico del certificato dell'editore usato per firmare il programma di installazione dell Windows app. A tale scopo, eseguire il cmdlet di PowerShell seguente: $(Get-AppxPackage [AppName]).Publisher .
Versione Versione del programma di installazione dell Windows app facoltativa in una notazione a quattro punti (1.0.0.0). A tale scopo, eseguire il cmdlet di PowerShell seguente: $(Get-AppxPackage [AppName]).Version .
ProcessorArchitecture Architettura in cui viene installato Windows programma di installazione dell'app.
URI Percorso URI del supporto di installazione dell Windows app primaria.
<?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 dependencies è possibile specificare i pacchetti framework necessari per il pacchetto principale o i pacchetti facoltativi.

Elemento Descrizione
Nome Nome dell'applicazione di dipendenza in cui viene distribuita tramite il Programma di installazione app file. A tale scopo, eseguire il cmdlet di PowerShell seguente: $(Get-AppxPackage [AppName]).Name .
Publisher Nome canonico del certificato dell'editore usato per firmare la dipendenza Windows programma di installazione dell'app. A tale scopo, eseguire il cmdlet di PowerShell seguente: $(Get-AppxPackage [AppName]).Publisher .
Versione La versione della dipendenza Windows programma di installazione dell'app in una notazione a quattro punti (1.0.0.0). A tale scopo, eseguire il cmdlet di PowerShell seguente: $(Get-AppxPackage [AppName]).Version .
ProcessorArchitecture Architettura in cui viene installata la dipendenza Windows programma di installazione dell'app.
URI Percorso URI della dipendenza Windows di installazione dell'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" />

    <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 Programma di installazione app file può anche specificare l'impostazione di aggiornamento in modo che i set correlati possano essere aggiornati automaticamente quando viene pubblicato Programma di installazione app file di dati più recente. è un elemento facoltativo. Nell'opzione OnLaunch è possibile specificare che i controlli degli aggiornamenti devono essere eseguiti all'avvio dell'app e HoursBetweenUpdateChecks="12" specifica che è necessario eseguire un controllo degli aggiornamenti ogni 12 ore. Se hoursBetweenUpdateChecks non è specificato, l'intervallo predefinito usato per verificare la disponibilità di aggiornamenti è 24 ore. Altri tipi di aggiornamenti, ad esempio gli aggiornamenti in background, sono disponibili nello schema di aggiornamento Impostazioni. Altri tipi di aggiornamenti all'avvio, ad esempio gli aggiornamenti con una richiesta, sono disponibili nello schema OnLaunch

Elementi Description
HoursBetweenUpdateChecks Definisce il gap minimo nei controlli di aggiornamento Windows'app.
UpdateBlocksActivation Definisce l'esperienza quando viene verificata la ricerca di un aggiornamento dell'app.
ShowPrompt Definisce se una finestra viene visualizzata durante l'installazione degli aggiornamenti e quando viene verificata la disponibilità di aggiornamenti.
<?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 aggiornamenti automatici Impostazioni

Importante

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

Windows le app installate con un file Programma di installazione app aggiornano per impostazione predefinita l'app Windows dall'URI Programma di installazione app, rispettando le configurazioni impostate nel passaggio precedente. Gli URI di aggiornamento configurati in questo passaggio fungeranno da URI di fallback che possono essere usati se l'URI Programma di installazione app originale non è più accessibile. È possibile configurare un massimo di 10 URI di aggiornamento per qualsiasi Windows app.

L'URI di aggiornamento deve avere come destinazione Programma di installazione app file.

Nota

Queste impostazioni funzionano solo quando lo schema è configurato come 2021 o versione più recente.

<?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 il ripristino automatico Impostazioni

Importante

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

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

L'URI di ripristino può essere Windows file dell'app o Programma di installazione app ripristino. Questa impostazione non richiede che l'app Windows sia stata installata usando un file 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 le informazioni di riferimento Programma di installazione app file.

Nota

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