Créer un package MSIX avec MSIX Core à partir du code source

MSIX Core permet au déploiement MSIX de sélectionner les versions précédentes de Windows. Vous pouvez tirer parti du programme d’installation MSIX Core pour créer une application à l’aide de ClickOnce. Cela permet à vos utilisateurs de télécharger un fichier setup.exe et d’installer l’application MSIX via le programme d’installation MSIX Core.

Héberger votre application sur un serveur

Pour préparer votre application pour l’amorçage avec le programme d’installation MSIX Core, vous devez héberger votre package d’application sur un serveur web. Cette section fournit des détails sur la configuration d’une application web sur Azure, Internet Information Services (IIS) et Amazon Web Services (AWS).

Azure

Pour utiliser Azure, vous devez avoir un abonnement Azure. Pour en obtenir un, consultez la page du compte Azure.

Créer une application web Azure

Pour commencer, accédez à la page Portail Azure et procédez comme suit :

  1. Cliquez sur Créer une ressource.
  2. Cliquez sur Web, puis sélectionnez Application web.
  3. Sous Détails de l’instance, créez un nom d’application unique et sélectionnez les paramètres appropriés pour votre application. Par exemple, vous devez choisir entre le code ou le conteneur Docker et la pile d’exécution. Ou alors, laissez les valeurs par défaut pour tous les autres éléments.
  4. Cliquez sur Créer, puis terminez l’assistant.

Héberger le package d’application et la page web

  1. Après avoir créé l’application web, sélectionnez l’application.
  2. Sous Outils de développement, cliquez sur Éditeur App Service.
  3. Dans l’éditeur, il existe un fichier hostingstart.html par défaut. Cliquez avec le bouton droit dans l’espace vide de l’Explorateur de fichiers et sélectionnez Charger des fichiers pour commencer à charger vos packages d’application.
  4. Cliquez avec le bouton droit dans l’espace vide du panneau Explorateur de fichiers à nouveau, puis sélectionnez Nouveaux fichiers pour créer un fichier. Nommez le fichier que vous souhaitez que votre page HTML par défaut soit.

Configurer l’application web pour les types MIME du package d’application

Ajoutez un nouveau fichier nommé Web.config à l’application web. Ouvrez le fichier Web.config et ajoutez le code XML suivant dans le fichier.

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <system.webServer>
    <!--This is to allow the web server to serve resources with the appropriate file extensions-->
    <staticContent>
      <mimeMap fileExtension=".appx" mimeType="application/appx" />
      <mimeMap fileExtension=".msix" mimeType="application/msix" />
    </staticContent>
  </system.webServer>
</configuration>

Internet Information Services (IIS)

IIS est une fonctionnalité Windows facultative. Pour installer IIS :

  1. Cliquez sur Démarrer et rechercher les Fonctionnalités Windows activées ou désactivées.
  2. Sélectionnez Internet Information Services.
  3. Veillez également à installer ASP.NET version 4.5 ou ultérieure. Dans la boîte de dialogue Fonctionnalités Windows, développez Internet Information Services ->World Wide Web Services ->Applications Development Features, puis sélectionnez une version de ASP.NET supérieure ou égale à ASP.NET 4.5.
  4. Cliquez sur OK pour commencer l’installation.

Visual Studio 2017 (ou version ultérieure) et les outils de développement web sont requis. Si Visual Studio 2017 ou une version ultérieure est déjà installée, vérifiez que les charges de travail de développement web et de ASP.NET sont installées. Sinon, installez Visual Studio à partir d’ici.

Créer une application web

Démarrez Visual Studio en tant qu’administrateur et créez un projet d’application web Visual C# avec un modèle de projet vide.

Configurer IIS avec votre application web

  1. Dans l’Explorateur de solutions, faites un clic droit sur le projet, puis sélectionnez Propriétés.
  2. Dans Propriétés, sélectionnez l’onglet Web.
  3. Dans la section Serveurs, choisissez IIS local dans le menu déroulant, puis cliquez sur Créer un répertoire virtuel.

Ajoutez le package de l’application à l’application web

Ajoutez le package d’application que vous souhaitez distribuer à l’application web :

  1. Faites un clic droit sur le nœud du projet dans l’Explorateur de solutions.
  2. Sélectionnez Ajouter ->Nouveau dossier et nommez les packages de dossiers.
  3. Pour ajouter des packages d’application au dossier, faites un clic droit sur le dossier des packages, puis sélectionnez Ajouter un -Élément existant>. Accédez à l’emplacement du package d’application.

Créer une page web

Créez une page HTML ou toute autre application web en fonction de vos besoins. Ajoutez le lien de votre nouveau setup.exe.

Configurer l’application web pour les types MIME du package d’application

Ouvrez le fichier Web.config à partir de l’Explorateur de solutions et ajoutez le code XML suivant dans l’élément de <configuration>.

<system.webServer>
  <!--This is to allow the web server to serve resources with the appropriate file extensions-->
  <staticContent>
    <mimeMap fileExtension=".appx" mimeType="application/appx" />
    <mimeMap fileExtension=".msix" mimeType="application/msix" />
  </staticContent>
</system.webServer>

Amazon Web Services (AWS)

Pour utiliser cette option, vous devez disposer d’une appartenance AWS. Pour en savoir plus, consultez Détails de compte AWS.

Créer un compartiment Amazon S3 et charger vos packages MSIX et pages web

Amazon Simple Stockage Service (S3) est une offre AWS pour la collecte, le stockage et l’analyse des données. Les compartiments S3 sont un moyen pratique d’héberger des packages d’application Windows 10 et des pages web pour la distribution.

  1. Se connecter à AWS. Sous Services, recherchez S3.
  2. Sélectionnez Créer un compartiment et entrez un nom de compartiment pour votre site web. Suivez les invites de boîte de dialogue pour définir les propriétés et les autorisations. Pour vous assurer que votre application Windows 10 peut être distribuée à partir de votre site web, activez les autorisations de Lecture et d’Écriture pour votre compartiment, puis sélectionnez Accorder un accès en lecture publique à ce compartiment. Cliquez sur Créer un compartiment pour terminer cette étape.
  3. Lorsque vous avez terminé, chargez vos packages MSIX et vos pages web dans le compartiment S3.

Configurer l’application web pour les types MIME du package d’application

Utilisation d’une interface de service web telle que le navigateur S3 pour ajouter un nouvel en-tête HTTP par défaut.

  1. Accédez aux Outils et sélectionnez En-têtes HTTP par défaut.
  2. Dans la boîte de dialogue En-têtes HTTP par défaut, cliquez sur Ajouter.
  3. Dans la boîte de dialogue Ajouter de nouveaux en-têtes HTTP par défaut, spécifiez le nom du compartiment, le nom de fichier, le nom d’en-tête et la valeur d’en-tête, puis cliquez sur Ajouter un nouvel en-tête.
    • Nom du compartiment : msix-packages
    • Nom de fichier : *.msix
    • Nom de l’en-tête : Content-Type
    • Valeur d’en-tête : application/msix

Remarque

 AWS dispose de certaines directives strictes que vous devrez suivre. Par exemple, les noms de compartiments doivent être uniques et, par conséquent, si vous utilisez l’exemple ci-dessus, vous devez modifier le nom du compartiment.

Utiliser le programme d’installation MSIX Core pour générer l’application ClickOnce

Recherchez votre application ClickOnce setup.exe. Cela fait référence au clone du projet Git, générez-le et publiez-le via le projet Visual Studio.

Commande Exécuter l’URL pour créer un fichier setup.exe

Vérifiez que vous avez suivi les instructions pour cloner, générer et publier la solution MSIX Core dans Visual Studio. Pour référence, le projet GitHub est disponible ici

Accédez au répertoire dans lequel vous avez publié le fichier setup.exe, puis exécutez cette commande :

.\setup.exe -url=<location of your msix in the webservice>

Par exemple

.\setup.exe -url="https://appinstallerdemo.azurewebsites.net/MSIXCore/msixmgrWrapper.application?https://appinstallerdemo.azurewebsites.net/MSIXCore/notepadplus.msix#"

Signer l’application

Étant donné que l’étape précédente a créé un fichier setup.exe, vous devez reconnecter l’application pour vérifier que vous êtes un éditeur approuvé de l’application et établir l’intégrité de l’application. Vous pouvez utiliser SignTool et fournir votre certificat.

Distribuer l’application à vos utilisateurs

Vous pouvez maintenant pointer vers le nouveau setup.exe avec un lien ou un bouton de téléchargement sur son site web. MSIX Core est destiné aux utilisateurs sur Windows 10, version 1703 et antérieures. Le programme d’installation d’application est le processus d’installation idéal pour les packages MSIX sur Windows 1709 ou une version ultérieure. Le programme d’installation d’application optimise l’espace disque côté consommateur et peut installer directement des applications à partir d’emplacements HTTP. MSIX Core détecte si un consommateur se trouve sur Windows 1709 ou une version ultérieure et les redirige vers App Installer.

Sur Microsoft Edge, vous pouvez appeler la méthode getHostEnvironmentValue() et le champ de build du système d’exploitation dans la valeur de retour spécifie la version du système d’exploitation de l’utilisateur. À partir de là, vous pouvez ensuite inviter le processus d’installation à utiliser MSIX Core (pour Windows 10, version 1703 et antérieure) ou App Installer (pour Windows 10, version 1709 et ultérieures).

Expérience utilisateur

Les utilisateurs téléchargent et exécutent simplement setup.exe à partir de la page web du développeur.

  • Si le programme d’installation MSIX Core n’est pas encore installé lorsque l’utilisateur exécute setup.exe, l’utilisateur voit l’invite ClickOnce et clique sur Installer pour installer le programme d’installation MSIX Core. Le programme d’installation lance et affiche automatiquement l’écran d’installation du package MSIX spécifié dans la chaîne de requête du développeur afin que les utilisateurs puissent installer l’application.
  • Si le programme d’installation MSIX Core est déjà installé lorsque l’utilisateur exécute setup.exe, le programme d’installation MSIX Core démarre automatiquement et affiche l’écran d’installation du package MSIX spécifié dans la chaîne de requête pour que les utilisateurs installent l’application.