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

Cet article explique comment créer manuellement un fichier d’installation d’application 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 Du programme d’installation d’application effectue les opérations suivantes :

  • Le package d’application Windows référencé dans l’attribut URI de l’élément < MainPackage > valide l’élément Name, Publisher et Version des attributs de package d’application cible Windows. Si l’élément Package/Identity dans le 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.

Comment créer un fichier d'installation d'application

Pour distribuer votre ensemble associé en tant qu’entité, vous devez créer un fichier d'installation de l'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 Du programme d’installation d’application.
  3. Spécifiez le package principal de l'application Windows.
  4. Spécifiez l'ensemble de packages optionnels associés.
  5. Spécifiez la dépendance du package Windows app Framework.
  6. Spécifiez les paramètres de mise à jour.
  7. Spécifiez les chemins d’URI de mise à jour.
  8. Spécifiez les chemins d’URI de réparation.
Exemple de fichier programme d’installation d’application

En suivant les étapes fournies ci-dessus, vous aurez créé un fichier d’installation d’application 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 ce qui suit : 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 Descriptif
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 du programme d’installation d’application 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 Programme d’installation d’application

  4. Mettez à jour l’attribut URI avec l’emplacement réseau où ce fichier AppInstaller sera accessible.

Étape 3 : Ajouter les informations principales du package

Les <MainPackage> et <MainBundle> sont utilisés pour identifier l’application Windows principale qui sera installée à l’aide du fichier programme d’installation de l’application. Le <MainPackage> est utilisé lorsque le programme d’installation de l’application Windows est *.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 Descriptif
Nom Nom de l’application principale distribuée à travers le fichier du programme d'installation d'application. Vous pouvez le trouver en exécutant l’applet de commande PowerShell suivante : $(Get-AppxPackage [AppName]).Name.
Éditeur Nom canonique du certificat d’éditeur utilisé pour signer le programme d’installation de l’application Windows principal. Vous pouvez le trouver en exécutant l’applet de commande PowerShell suivante : $(Get-AppxPackage [AppName]).Publisher.
Version Version du programme d'installation principal de l'application Windows dans une notation à quatre chiffres (1.0.0.0). Vous pouvez le trouver en exécutant l’applet de commande PowerShell suivante : $(Get-AppxPackage [AppName]).Version.
Architecture du processeur Architecture sur laquelle le programme d’installation de l’application Windows principal est installé.
URI Chemin d’URI vers le support d’installation principal de l’application Windows.

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

programme d'installation d'applications Windows

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 d’ensemble d’applications Windows

Si le package d'application principal est un fichier .msixbundle, .appxbundle ou un fichier, alors utilisez <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 fichier groupé ou le manifeste du package.

Élément Descriptif
Nom Nom de l’application facultative en cours de distribution via le fichier d'installation de l'application. Vous pouvez le trouver en exécutant l’applet de commande PowerShell suivante : $(Get-AppxPackage [AppName]).Name.
Éditeur Nom canonique du certificat d’éditeur utilisé pour signer le programme d’installation facultatif de l’application Windows. Vous pouvez le trouver en exécutant l’applet de commande PowerShell suivante : $(Get-AppxPackage [AppName]).Publisher.
Version Version du programme d’installation facultatif de l’application Windows à points multiples (1.0.0.0). Vous pouvez le trouver en exécutant l’applet de commande PowerShell suivante : $(Get-AppxPackage [AppName]).Version.
Architecture du processeur Architecture sur laquelle le programme d’installation de l’application Windows facultatif est installé.
URI Chemin d’URI vers le support d’installation principal de l’application Windows.
<?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 Descriptif
Nom Nom de l’application de dépendance en cours de distribution via le fichier Programme d’installation d’application. Vous pouvez le trouver en exécutant l’applet de commande PowerShell suivante : $(Get-AppxPackage [AppName]).Name.
Éditeur Nom canonique du certificat de l’éditeur utilisé pour signer l'installateur de l'application Windows. Vous pouvez le trouver en exécutant l’applet de commande PowerShell suivante : $(Get-AppxPackage [AppName]).Publisher.
Version Version de la dépendance du programme d'installation d'application Windows dans une notation à quatre points (1.0.0.0). Vous pouvez le trouver en exécutant l’applet de commande PowerShell suivante : $(Get-AppxPackage [AppName]).Version.
Architecture du processeur Architecture par laquelle s’installe le programme d’installation de l’application Windows associée.
URI Chemin d’URI du support d’installation de l’application Windows 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 d'installateur d'application peut également spécifier les paramètres de mise à jour afin que les applications associées puissent être mises à jour automatiquement lorsqu'une version plus récente de ce fichier est publiée. <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 les mises à jour est de 24 heures. Vous trouverez d’autres types de mises à jour, comme les mises à jour en arrière-plan, dans le schéma Paramètres de mise à jour ; Vous trouverez d’autres types de mises à jour de lancement telles que les mises à jour avec une invite dans le schéma OnLaunch

Éléments Descriptif
HeuresEntreLesVérificationsDeMiseÀJour Définit l’écart minimal dans les vérifications de mise à jour d’application Windows.
Activation de mise à jour des blocs Définit l’expérience quand une mise à jour d’application est vérifiée.
ShowPrompt Définit si une fenêtre s’affiche lorsque les mises à jour sont installées et lorsque les 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 versions seront installées ; si la valeur est False (valeur par défaut), seules les nouvelles versions seront 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 des paramètres de mise à jour automatique

Important

Les paramètres suivants nécessitent la version de schéma 2021 dans votre fichier .appinstaller et Windows 10, version 2004 (build 19041) ou ultérieure.

Ces paramètres permettent de mettre à jour l’application Windows à partir de l’URI du programme d’installation d’application, 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 du programme d’installation d’application d’origine n’est plus accessible. Un maximum de 10 URI de mise à jour peut être configuré pour n’importe quelle application Windows.

Les URI de mise à jour doivent cibler les fichiers du programme d’installation d’application.

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 des paramètres de réparation automatique

Important

Les paramètres suivants nécessitent la version de schéma 2021 dans votre fichier .appinstaller et Windows 10, version 2004 (build 19041) ou ultérieure.

Ces paramètres permettent de réparer l’application Windows lorsqu’elle a été altérée. Le programme d’installation source utilisé pour réparer l’application peut être configuré à l’aide de la <RepairURIs> propriété. L’application Windows tente de se réparer en fonction de l’URI du programme d’installation de l’application ; si elle est inaccessible, elle utilise les 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.

Les URI de réparation peuvent cibler des applications Windows ou des fichiers du programme d’installation d’application. Ce paramètre ne nécessite pas que l’application Windows ait été installée à l’aide d’un fichier d’installation d’application.

<?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 du programme d’installation d’application.

Remarque

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