Creare un file del programma di installazione app manualmenteCreate an App Installer file manually

Questo articolo illustra come creare manualmente un file del programma di installazione dell'app che definisce un set correlato.This article shows how to manually create an App Installer file that defines a related set. Un set correlato non è un'entità, bensì una combinazione di un pacchetto principale e di pacchetti facoltativi.A related set is not one entity, but rather a combination of a main package and optional packages.

Per poter installare un set correlato come un'entità, è necessario essere in grado di specificare il pacchetto principale e il pacchetto facoltativo come uno.To be able to install a related set as one entity, we must be able to specify the main package and optional package as one. A tale scopo, è necessario creare un file XML con estensione AppInstaller per definire un set correlato.To do this, we will need to create an XML file with an .appinstaller extension to define a related set. Il programma di installazione delle app utilizza il file con estensione AppInstaller e consente all'utente di installare tutti i pacchetti definiti con un solo clic.App Installer consumes the .appinstaller file and allows the user to install all of the defined packages with a single click.

Esempio di file del programma di installazione appApp Installer file example

Prima di approfondire i dettagli, ecco un file msixbundle *. AppInstaller di esempio completo:Before we go in to more detail, here is a complete sample msixbundle *.appinstaller file:

<?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>
    
    <UpdateSettings>
    <OnLaunch HoursBetweenUpdateChecks="0"/>   
  </UpdateSettings>

</AppInstaller>

Durante la distribuzione, il file del programma di installazione dell'app viene convalidato in base ai pacchetti dell'applicazione a cui viene fatto riferimento nell' Uri elemento.During deployment, the App Installer file is validated against the app packages referenced in the Uri element. Quindi, Name Publisher e Version devono corrispondere all'elemento Package/Identity nel manifesto del pacchetto dell'applicazione.So, the Name, Publisher and Version should match the Package/Identity element in the app package manifest.

Come creare un file del programma di installazione dell'appHow to create an App Installer file

Per distribuire il set correlato come un'entità, è necessario creare un file del programma di installazione dell'app contenente gli elementi richiesti dallo schema AppInstaller.To distribute your related set as one entity, you must create an App Installer file that contains the elements that are required by that appinstaller schema.

Passaggio 1: creare il file *. AppInstallerStep 1: Create the *.appinstaller file

Usando un editor di testo, creare un file (che conterrà XML) e denominarlo < filename > . AppInstallerUsing a text editor, create a file (which will contain XML) and name it <filename>.appinstaller

Passaggio 2: aggiungere il modello di baseStep 2: Add the basic template

Il modello di base include le informazioni sul file del programma di installazione delle app.The basic template includes the App Installer file information.

<?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" >
</AppInstaller>

Passaggio 3: aggiungere le informazioni sul pacchetto principaleStep 3: Add the main package information

Se il pacchetto dell'app principale è un file con estensione msix o appx, usare <MainPackage> , come illustrato di seguito.If the main app package is an .msix or .appx file, then use <MainPackage>, as shown below. Assicurarsi di includere ProcessorArchitecture, in quanto è obbligatorio per i pacchetti non bundle.Be sure to include the ProcessorArchitecture, as it is mandatory for non-bundle packages.

<?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" >

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

</AppInstaller>

Se il pacchetto dell'app principale è un file con estensione msixbundle o appxbundle, usare il al <MainBundle> posto di <MainPackage> come illustrato di seguito.If the main app package is an .msixbundle or .appxbundle or file, then use the <MainBundle> in place of <MainPackage> as shown below. Per i bundle, ProcessorArchitecture non è obbligatorio.For bundles, ProcessorArchitecture is not required.

<?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" />

</AppInstaller>

Le informazioni nell' <MainBundle> attributo o <MainPackage> devono corrispondere rispettivamente all'elemento Package/Identity nel manifesto del bundle dell'app o nel manifesto del pacchetto dell'applicazione.The information in the <MainBundle> or <MainPackage> attribute should match the Package/Identity element in the app bundle manifest or app package manifest respectively.

Passaggio 4: aggiungere i pacchetti facoltativiStep 4: Add the optional packages

Analogamente all'attributo principale del pacchetto dell'app, se il pacchetto facoltativo può essere un pacchetto dell'app o un bundle dell'app, l'elemento figlio all'interno dell' <OptionalPackages> attributo deve essere <Package> o <Bundle> rispettivamente.Similar to the main app package attribute, if the optional package can be either an app package or an app bundle, the child element within the <OptionalPackages> attribute should be <Package> or <Bundle> respectively. Le informazioni sul pacchetto negli elementi figlio devono corrispondere all'elemento Identity nel manifesto del bundle o del pacchetto.The package information in the child elements should match the identity element in the bundle or package manifest.

<?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"
            ProcessorArchitecture="x64"
            Uri="http://mywebservice.azurewebsites.net/OptionalApp3.msix" />

    </OptionalPackages>

</AppInstaller>

Passaggio 5: aggiungere dipendenzeStep 5: Add dependencies

Nell'elemento dipendenze è possibile specificare i pacchetti del Framework necessari per il pacchetto principale o i pacchetti facoltativi.In the dependencies element, you can specify the required framework packages for the main package or the optional packages.

<?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"
            ProcessorArchitecture="x86"
            Uri="http://mywebservice.azurewebsites.net/OptionalApp3.msix" />

    </OptionalPackages>

    <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 aggiornamentoStep 6: Add Update setting

Il file del programma di installazione dell'app può anche specificare l'impostazione di aggiornamento in modo che i set correlati possano essere aggiornati automaticamente quando viene pubblicato un nuovo file del programma di installazione dell'app.The App Installer file can also specify update setting so that the related sets can be automatically updated when a newer App Installer file is published. è un elemento facoltativo. is an optional element. All'interno dell'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.Within the OnLaunch option specifies that update checks should be made on app launch, and HoursBetweenUpdateChecks="12" specifies that an update check should be made every 12 hours. Se HoursBetweenUpdateChecks non è specificato, l'intervallo predefinito usato per verificare la disponibilità di aggiornamenti è di 24 ore.If HoursBetweenUpdateChecks is not specified, the default interval used to check for updates is 24 hours. Altri tipi di aggiornamenti, ad esempio gli aggiornamenti in background, sono disponibili nello schemadelle impostazioni di aggiornamento. È possibile trovare altri tipi di aggiornamenti in esecuzione, ad esempio gli aggiornamenti con un prompt, nello schema OnLaunchAdditional types of updates, like background updates can be found in the Update Settings schema; Additional types of on-launch updates like updates with a prompt can be found in the OnLaunch schema

<?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"
            ProcessorArchitecture="x86"
            Uri="http://mywebservice.azurewebsites.net/OptionalApp3.msix" />

    </OptionalPackages>

    <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>

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

</AppInstaller>

Per tutti i dettagli sul XML Schema, vedere Guida di riferimento ai file del programma di installazione delle app.For all of the details on the XML schema, see App Installer file reference.

Nota

Il tipo di file del programma di installazione delle app è una novità di Windows 10, versione 1709 (Windows 10 Fall Creators Update).The App Installer file type is new in Windows 10, version 1709 (the Windows 10 Fall Creators Update). Non è disponibile alcun supporto per la distribuzione di app di Windows 10 usando un file del programma di installazione delle app nelle versioni precedenti di Windows 10.There is no support for deployment of Windows 10 apps using an App Installer file on previous versions of Windows 10. L'elemento HoursBetweenUpdateChecks è disponibile a partire da Windows 10, versione 1803.The HoursBetweenUpdateChecks element is available starting in Windows 10, version 1803.