Créer un fichier du programme d’installation d’application manuellement

Cet article explique comment créer manuellement un fichier App Installer qui définit un ensemble associé avec des fonctionnalités de mise à jour et de réparation automatiques. Un ensemble associé n’est pas une entité, mais plutôt une combinaison d’un package principal et de packages facultatifs.

Pour pouvoir installer un ensemble associé en tant qu’entité, nous devons être en mesure de spécifier le package principal et le package facultatif en tant qu’entité. Pour ce faire, nous devons créer un fichier XML avec une extension .appinstaller pour définir un ensemble associé. Le programme d’installation d’application utilise le fichier *.appinstaller et permet à l’utilisateur d’installer tous les packages définis en un seul clic.

Pendant le déploiement, le fichier App Installer effectue les opérations suivantes :

  • Le package d’application Windows référencé dans l’attribut URI de l’élément < MainPackage > valide les attributs Name, Publisher et Version du package d’application Windows cible. Si l’élément Package/Identity du manifeste du package d’application Windows ne correspond pas, l’installation échoue.
  • Créez une référence aux URI de mise à jour et de réparation pour la famille du package.

Créer un fichier App Installer

Pour distribuer votre jeu associé en tant qu’entité, vous devez créer un fichier d’installation d’application qui contient les éléments requis par ce schéma d’installation d’application.

  1. Créez le *fichier .AppInstaller.
  2. Spécifiez les attributs du fichier App Installer.
  3. Spécifiez le package d’application Windows principal.
  4. Spécifiez le package facultatif du jeu associé.
  5. Spécifiez le package App Framework Windows de dépendance.
  6. Spécifiez les chemins d’accès de l’URI de mise à jour.
  7. Spécifiez les chemins de l’URI de réparation.
  8. Spécifiez le Paramètres de mise à jour.
Exemple de fichier App Installer

En suivant les étapes fournies ci-dessus, vous aurez créé un fichier App Installer qui ressemble à ce qui suit :

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

Étape 1 : Créer le fichier *.appinstaller

À l’aide d’un éditeur de texte (Notepad.exe), créez un fichier avec une extension de nom de fichier de *. AppInstaller

Procédure :
  1. Ouvrez le menu Démarrer.
  2. Tapez la commande suivante : notepad.exe.
  3. Ouvrez le menu Fichier.
  4. Sélectionnez Enregistrer sous dans le menu déroulant.

Étape 2 : Ajouter le modèle de base

Incluez l’élément AppInstaller dans votre fichier App Installer notant la version, le chemin d’accès et l’emplacement réseau de votre fichier App Installer. Les informations contenues dans l’élément AppInstaller sont consommées lors de l’installation des applications Windows associées.

Élément Description
xmlns Espace de noms XML
Version Version du fichier Programme d’installation d’application dans une notation en pointillés quad (1.0.0.0).
URI Chemin d’URI du fichier App Installer actuel, accessible par l’appareil.
Procédure :
  1. Ouvrez le fichier créé à l’étape 1.

  2. Copiez le contenu XML suivant dans votre fichier *.AppInstaller.

    <?xml version="1.0" encoding="utf-8"?>
    <AppInstaller
        xmlns="http://schemas.microsoft.com/appx/appinstaller/2021"
        Version=""
        Uri="" >
    </AppInstaller>
    
  3. Mettre à jour l’attribut Version avec la version de votre fichier App Installer

  4. Mettez à jour l’attribut URI avec l’emplacement réseau à partir duquel ce fichier *.AppInstaller sera accessible.

Étape 3 : Ajouter les informations principales du package

Les <MainPackage> and <MainBundle> sont utilisées pour identifier l’application Windows principale qui sera installée à l’aide du fichier App Installer. Il <MainPackage> est utilisé lorsque le programme d’installation de l’application Windows est un *.msix ou *.appx. Utilisez le <MainBundle> lorsque le programme d’installation de l’application Windows est un programme d’installation d’application Windows groupé, avec une extension de *.msixbundle ou *.appxbundle.

Élément Description
Nom Nom de l’application principale en cours de distribution via le fichier Programme d’installation d’application. Pour ce faire, exécutez la cmdlet PowerShell suivante : $(Get-AppxPackage [AppName]).Name.
Serveur de publication Nom canonique du certificat d’éditeur utilisé pour signer le programme d’installation de l’application Windows principale. Pour ce faire, exécutez la cmdlet PowerShell suivante : $(Get-AppxPackage [AppName]).Publisher.
Version Version du programme d’installation d’application Windows principal dans une notation en pointillés quad (1.0.0.0). Pour ce faire, exécutez la cmdlet PowerShell suivante : $(Get-AppxPackage [AppName]).Version.
ProcessorArchitecture Architecture sur laquelle le programme d’installation d’application Windows principal est installé.
URI Chemin d’URI du support d’installation de l’application Windows principale.

Les informations contenues dans l’attribut <MainBundle> ou <MainPackage> doivent correspondre à l’élément Package/Identity du manifeste de bundle d’application ou du package de l’application, respectivement.

Programme d’installation de Windows ADK

Si le package d’application principal est un fichier .msix ou .appx, utilisez <MainPackage>, comme indiqué ci-dessous. Veillez à inclure processorArchitecture, car il est obligatoire pour les packages non groupés.

<?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>
Programme d’installation de l’ensemble d’applications Windows

Si le package d’application principale est un fichier .msixbundle ou .appxbundle, utilisez la valeur <MainBundle> à la place de <MainPackage>, comme indiqué ci-dessous. Pour les offres groupées, ProcessorArchitecture n’est pas obligatoire.

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

Étape 4 : Ajouter les packages facultatifs

Comme pour l’attribut principal du package d’application, si le package facultatif peut être un package d’application ou un ensemble d’applications, l’élément enfant dans l’attribut <OptionalPackages> doit être <Package> ou <Bundle> respectivement. Les informations du package dans les éléments enfants doivent correspondre à l’élément d’identité dans le bundle ou le manifeste du package.

Élément Description
Nom Nom de l’application facultative en cours de distribution via le fichier App Installer. Pour ce faire, exécutez la cmdlet PowerShell suivante : $(Get-AppxPackage [AppName]).Name.
Serveur de publication Nom canonique du certificat d’éditeur utilisé pour signer le programme d’installation facultatif de l’application Windows. Pour ce faire, exécutez la cmdlet PowerShell suivante : $(Get-AppxPackage [AppName]).Publisher.
Version Version du programme d’installation facultatif de l’application Windows dans une notation en pointillés quad (1.0.0.0). Pour ce faire, exécutez la cmdlet PowerShell suivante : $(Get-AppxPackage [AppName]).Version.
ProcessorArchitecture Architecture sur laquelle le programme d’installation facultatif de l’application Windows est installé.
URI Chemin d’URI du support d’installation de l’application Windows principale.
<?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>

Étape 5 : Ajouter des dépendances

Dans l’élément dépendances, vous pouvez spécifier les packages d’infrastructure requis pour le package principal ou les packages facultatifs.

Élément Description
Nom Nom de l’application de dépendance en cours de distribution via le fichier Programme d’installation d’application. Pour ce faire, exécutez la cmdlet PowerShell suivante : $(Get-AppxPackage [AppName]).Name.
Serveur de publication Nom canonique du certificat d’éditeur utilisé pour signer le programme d’installation de l’application Windows de dépendance. Pour ce faire, exécutez la cmdlet PowerShell suivante : $(Get-AppxPackage [AppName]).Publisher.
Version Version du programme d’installation d’applications Windows de dépendance dans une notation en pointillés quad (1.0.0.0). Pour ce faire, exécutez la cmdlet PowerShell suivante : $(Get-AppxPackage [AppName]).Version.
ProcessorArchitecture Architecture sur laquelle le programme d’installation de l’application Windows de dépendance est installé.
URI Chemin d’URI du support d’installation de l’application Windows de dépendance.
<?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>

Étape 6 : Ajouter un paramètre de mise à jour

Le fichier App Installer peut également spécifier le paramètre de mise à jour afin que les jeux associés puissent être mis à jour automatiquement lorsqu’un fichier d’installation d’application plus récent est publié. <UpdateSettings> est un élément facultatif. Dans <UpdateSettings> l’option OnLaunch spécifie que les vérifications de mise à jour doivent être effectuées lors du lancement de l’application, et HoursBetweenUpdateChecks="12" spécifie qu’une vérification de mise à jour doit être effectuée toutes les 12 heures. Si HoursBetweenUpdateChecks n’est pas spécifié, l’intervalle par défaut utilisé pour vérifier pour les mises à jour est de 24 heures. D’autres types de mises à jour, comme les mises à jour en arrière-plan, peuvent être trouvés dans le schéma Paramètres de mise à jour ; les autres types de mises à jour au lancement, comme les mises à jour avec une invite, peuvent être trouvés dans le schéma OnLaunch

Éléments Description
HoursBetweenUpdateChecks Définit l’écart minimal dans les vérifications de mise à jour des applications Windows.
UpdateBlocksActivation Définit l’expérience lorsque la mise à jour d’une application est vérifiée.
ShowPrompt Définit si une fenêtre est affichée lorsque des mises à jour sont en cours d’installation et lorsque des mises à jour sont vérifiées.
ForceUpdateFromAnyVersion Spécifie que la prochaine version de l’application peut être à une version plus récente ou antérieure. Si la valeur est « True », toutes les deux sont concernées. Si la valeur est « False » (valeur par défaut), seules les nouvelles versions sont installées.
<?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>

Étape 7 : Ajouter les paramètres de mise à jour automatique

Important

Les paramètres suivants sont disponibles uniquement lors de l’utilisation du schéma 2021 sur une build Windows Insider de Windows 10.

Les applications Windows installées avec un fichier App Installer mettent par défaut à jour leur application Windows à partir de l’URI App Installer, en respectant les configurations définies à l’étape précédente. Les URI de mise à jour configurés dans cette étape joueront le rôle d’URI de secours qui peuvent être utilisés si l’URI d’origine d’App Installer n’est plus accessible. Un maximum de 10 URI de mise à jour peut être configuré pour n’importe quelle application Windows.

L’URI de mise à jour doit cibler les fichiers App Installer.

Remarque

Ces paramètres fonctionnent uniquement lorsque le schéma est configuré en tant que version 2021 ou ultérieure.

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

Étape 8 : Ajouter les paramètres de mise à jour automatique

Important

Les paramètres suivants sont disponibles uniquement lors de l’utilisation du schéma 2021 sur une build Windows Insider de Windows 10.

Les applications Windows installées sur un appareil peuvent prendre en charge la réparation automatique de l’application Windows lorsqu’elle a été falsifiée. Le programme d’installation source qui sera utilisé pour réparer l’application Windows peut être configuré à l’aide de la propriété <RepairURIs>. L’application Windows tente de se réparer elle-même en fonction de l’URI d’App Installer. Si elle n’est pas accessible, alors l’application Windows utilise l’URI de réparation pour identifier une source de réparation. Un maximum de 10 URI de réparation peut être configuré pour n’importe quelle application Windows.

L’URI de réparation peut cibler les fichiers de l’application Windows ou de l’App Installer. Ce paramètre ne nécessite pas que l’application Windows ait été installée à l’aide d’un fichier App Installer.

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

Pour plus d’informations sur le schéma XML, consultez la Référence du fichier App Installer.

Remarque

Le type de fichier App Installer est nouveau dans Windows 10, version 1709 (Windows 10 Fall Creators Update). Il n’existe aucune prise en charge du déploiement d’applications Windows 10 à l’aide d’un fichier App Installer sur les versions précédentes de Windows 10. L’élément HoursBetweenUpdateChecks est disponible à partir de Windows 10, version 1803.