Extension d’empaquetage MSIXMSIX Packaging Extension

L’extension MSIX Packaging est une extension Azure DevOps qui permet de générer, d’empaqueter et de signer des applications Windows en utilisant le format de package MSIX.The MSIX Packaging Extension is an Azure DevOps extension which helps build, package and sign Windows apps using the MSIX package format.

Les workflows CI/CD font désormais partie intégrante du processus de développement pour améliorer l’efficacité et la qualité tout en réduisant les coûts et le délai de mise sur le marché.CI/CD workflows have become an integral part of the development process to improve efficiency and quality while reducing cost and time to market. Les pipelines Azure DevOps de la solution CI/CD de Microsoft sont largement adoptés et populaires, mais le processus actuel d’intégration des workflows de génération et de déploiement pour les applications qui doivent être packagées au format MSIX dans Azure Pipelines à l’aide de fichiers YAML est fastidieux, en particulier pour les personnes qui ne maîtrisent pas Azure Pipelines ou MSIX.Microsoft's CI/CD solution Azure DevOps Pipelines is widely adopted and popular, but the current process of integrating build and deployment workflows for apps that need to be packaged as MSIX into Azure Pipelines by using YAML files is tedious, specifically for people that are not Azure Pipelines or MSIX experts. Cette extension Azure DevOps offre une solution simple, intuitive et basée sur une interface utilisateur qui facilite l’automatisation du processus de génération et de déploiement pour les applications en cours d’empaquetage au format MSIX. Elle permet également aux applications avec des workflows CI/CD existants de passer à MSIX sans interrompre leurs mécanismes de génération et de déploiement.This Azure DevOps extension offers a straightforward, intuitive and UI based solution making it easier to automate build and deployment process for apps being packaged as MSIX, and for apps with existing CI/CD workflows to move to MSIX without disrupting their build and deployment mechanisms.

L’extension MSIX Packaging contient les tâches suivantes que vous pouvez utiliser pour générer sur mesure votre pipeline en fonction de vos besoins :The MSIX Packaging Extension contains the following tasks that you can use to custom build your pipeline according to your requirements:

  1. Génération et empaquetage MSIX : générer et empaqueter des applications Windows au format de package MSIXMSIX build and package - to build and package Windows apps using the MSIX package format
  2. Signature de package MSIX : signer des packages MSIX avec un certificat approuvéMSIX package signing - to sign MSIX packages using a trusted certificate
  3. Fichier de programme d’installation d’application pour MSIX : créer ou mettre à jour un fichier .appinstaller pour les applications MSIXApp installer file for MSIX - to create or update a .appinstaller file for MSIX apps
  4. Créer un package pour l’attachement d’application MSIX : créer un package VHDX pour l’attachement d’application MSIXCreate package for MSIX app attach - to create a VHDX package for MSIX app attach

Installer l’extensionInstall the extension

Recherchez l’extension nommée MSIX Packaging dans la Place de marché Azure DevOps.Browse the Azure DevOps Marketplace and look for the extension name MSIX Packaging Extension.

Parcourir la place de marché

Créer un pipelineCreate a Pipeline

Créez un pipeline pour votre projet Azure DevOps.Create a new pipeline for your Azure DevOps project.

sélectionner un pipeline

Nouveau pipeline

Sélectionnez l’option Use the classic editor to create a pipeline without YAML (Utiliser l’éditeur classique pour créer un pipeline sans YAML).Select the option to Use the classic editor to create a pipeline without YAML.

Utiliser l’éditeur classique

Sélectionnez votre système de gestion de version et indiquez les détails de votre référentiel et de la branche par défaut.Select your version control system and provide your repository and default branch details.

Configurer le système de gestion de version source

Quand vous êtes invité à sélectionner un modèle (Select a template), cliquez sur *start with an Empty job _ (démarrer par un travail vide).When asked to Select a template, click *start with an Empty job _.

Démarrer par une tâche vide

Remplacez votre sélection dans Agent Specification* (Spécification de l’agent) par *windows-2019 puisque l’extension MSIX s’exécute uniquement sur un agent Windows.Change your Agent Specification* selection to *windows-2019 since the MSIX extension runs only on a Windows agent.

Fenêtres de spécification de l’agent

Vous devriez voir _Agent job 1* (Travail d’agent 1) par défaut dans votre pipeline.You should see _Agent job 1* by default in your pipeline. Cliquez sur le signe plus (+) pour ajouter une tâche au travail d’agent 1 (Add a task to Agent job 1).Click on the plus symbol to Add a task to Agent job 1.

Recherchez MSIX _ dans la barre de recherche _Add tasks (Ajouter des tâches). Vous devriez voir les tâches mentionnées précédemment dans l’extension MSIX Packaging.Search for MSIX _ in the _Add tasks search bar and you should see the tasks mentioned before in the MSIX Packaging Extension. Vous pouvez générer votre pipeline sur mesure en ajoutant les tâches dont vous avez besoin.You can custom build your pipeline by adding the tasks you need according to your requirements. Nous allons voir comment configurer les quatre tâches sur cette page.But we will demonstrate how to configure all four tasks on this page.

Ajouter une tâche

Générer et empaqueter au format MSIXMSIX build and package

Tâche de génération et d’empaquetage

  • Display name (Nom complet) : donnez à votre tâche le nom de votre choix.Display name - Customize your task name
  • Output Path (Chemin de sortie) : spécifiez le chemin de sortie du package MSIX qui sera créé par cette tâche.Output Path - Specify the output path for the MSIX package that will be created by this task. Le chemin dans l’exemple ci-dessus utilise la variable prédéfinie Build.ArtifactStagingDirectory, c’est-à-dire le chemin local sur l’agent pour stocker les artefacts. Il est utilisé ici pour stocker les fichiers de sortie de la tâche qui pourront être publiés ultérieurement à l’aide d’une tâche de publication d’artefacts.The path in the example above uses predefined variable Build.ArtifactStagingDirectory which is the local path on the agent to store artifacts, and is used here to store task output files which can later be published using a publish artifacts task.
  • Build Solution with MSBuild (Générer la solution avec MSBuild) : sélectionnez cette option pour générer votre solution avec msbuild pour la plateforme cible spécifiée.Build Solution with MSBuild - Select this option to build your solution with msbuild for the specified target platform. Laissez la case décochée si vous avez déjà des binaires qui doivent simplement être empaquetés.Leave the box unchecked if you already have binaries that just need to be packaged. Si vous laissez la case décochée, vous êtes invité à fournir le chemin à vos binaires.If you leave the box unchecked, you will be asked to provide the path to your binaries.
  • Project to Build (Projet à générer) : indiquez le chemin à votre fichier projet ou solution à générer.Project to Build - Provide the path to your project or solution file that needs to be built.
  • Clean before Building (Nettoyer avant la génération) : cochez cette case pour que la tâche exécute une build propre avant la génération.Clean before Building - Select this checkbox if you want the task to run a clean build prior to the build.
  • Generate MSIX Bundle (Générer un bundle MSIX) : cochez cette case pourgénérer un bundle MSIX à la place d’un package.Generate MSIX Bundle - Select this checkbox to generate an MSIX bundle instead of a package. Veillez à nommer votre fichier de sortie dans l’option Output Path (Chemin de sortie) avec une extension .msixbundle à la place de .msix.Make sure to name your output file in the Output Path option with a .msixbundle extension instead of .msix.
  • Configuration : choisissez une configuration de build (Debug ou Release).Configuration - Choose between Debug and Release build configurations.
  • Platform (Plateforme) : spécifiez la plateforme de génération cible. Par exemple, choisissez x64, x86 ou Any CPU (N’importe quel processeur).Platform - Specify the target build platform, for example, x64, x86, Any CPU.
  • Update App Version in Manifest (Mettre à jour la version de l’application dans le manifeste) : cochez cette case pour modifier la version de l’application spécifiée dans le fichier .appxmanifest de l’application.Update App Version in Manifest - Select this checkbox to change the app version from the one specified in the app's .appxmanifest file. Cette opération ne remplace pas le fichier .appxmanifest, mais modifie la version de l’application dans le package MSIX de sortie généré.This will not overwrite the .appxmanifest file, but change the app version in the generated output MSIX package. Si cette option est sélectionnée, vous êtes invité à fournir le chemin du fichier manifeste et le numéro de version d’application à affecter à l’application.If this option is selected, you will be asked to provide the path to the manifest file, and the app version number to set for the app.
  • Application Package Distribution Mode (Mode de distribution du package d’application) : sélectionnez le mode dans le menu déroulant pour générer un package d’application de Store ou non.Application Package Distribution Mode - Select the mode from the dropdown menu to generate a Store app package or non-Store app package.
  • Advanced Options for MSBuild (Options avancées pour MSBuild) : personnalisez votre MSBuild à l’aide des options avancées.Advanced Options for MSBuild - Customize your MSBuild by using advanced options.

Signature de package MSIXMSIX package signing

tâche de signature

  • Display name (Nom complet) : donnez à votre tâche le nom de votre choix.Display name - Customize your task name
  • Package to sign (Package à signer) : la tâche de signature de package MSIX utilise SignTool pour signer tous les fichiers correspondant à ce chemin d’accès, qu’il s’agisse de packages ou de bundles MSIX.Package to sign - The MSIX package signing task uses SignTool to sign all files matching this path, regardless of whether they are MSIX packages or bundles.
  • Certificate file (Fichier de certificat) : sélectionnez votre certificat approuvé pour signer l’application dans la liste déroulante ou chargez un fichier de certificat à l’aide de l’icône d’engrenage.Certificate file - Select your trusted certificate to sign the app from the dropdown, or upload a certificate file by using the gear icon.
  • Password Variable (Variable de mot de passe) : nom de la variable qui stocke le mot de passe utilisé pour accéder au fichier de certificat pour la signature.Password Variable - The name of the variable which stores the password used to access the certificate file for signing. Notez que ce n’est pas le mot de passe à proprement parler, mais plutôt le nom de la variable, qui peut être défini sous Library.Note that this is NOT the password itself, but rather the variable name, which can be set under Library.
  • Time Stamp Server (Serveur d’horodatage) : URL qui spécifie l’adresse d’un serveur d’horodatage.Time Stamp Server - A URL that specifies the address of a time stamping server. Il s'agit d'un paramètre facultatif.This is an optional parameter.

Fichier de programme d’installation d’application pour MSIXApp installer file for MSIX

appinstaller

  • Display name (Nom complet) : donnez à votre tâche le nom de votre choix.Display name - Customize your task name
  • Package : chemin du package ou bundle pour lequel vous souhaitez créer un programme d’installation d’application.Package - This is the path to the package or bundle you want to create an App Installer for.
  • Output File Path (Chemin du fichier de sortie) : chemin du fichier de programme d’installation d’application à écrire.Output File Path - This is the path of the App Installer file to be written.
  • Method to Create App Installer File (Méthode pour créer le fichier d’installation d’application) : indiquez si vous souhaitez créer un fichier de programme d’installation d’application ou mettre à jour un fichier existant.Method to Create App Installer File - Choose whether to create a new App Installer file or update an existing one. Si vous choisissez de mettre à jour un fichier existant, vous êtes invité à fournir le chemin du fichier de programme d’installation d’application existant.If you choose to update an existing one, you will be asked to provide the path to the existing App Installer file.
  • Version for App Installer file (Version du fichier de programme d’installation d’application) : numéro de version qui sera donné.Version for App Installer file - The version number which will be given. Doit prendre la forme (version majeure).(version mineure).(build).(révision).Must take the form (major).(minor).(build).(revision).
  • URI : URI web du fichier de programme d’installation d’application redirigé.URI - Web URI to the redirected App Installer file.
  • Main Package/Bundle URI (URI de package/bundle principal) : URI de l’emplacement du package/bundle d’application.Main Package/Bundle URI - URI to the app package/bundle location.
  • Update On Launch (Mettre à jour au lancement) : sélectionnez cette option pour que l’application recherche les mises à jour au lancement.Update On Launch - Select this to set the app to check for updates when launched. Si cette case est cochée, vous êtes invité à fournir des détails tels que Hours Between Update Checks (Nombre d’heures entre les vérifications de mise à jour), Show UI to User when Updating (Afficher l’interface utilisateur lors de la mise à jour) et Update to Block App Activation (La mise à jour bloque l’activation de l’application).If this checkbox is selected, you will be asked to provide details like Hours Between Update Checks, whether to Show UI to User when Updating, and whether you want the Update to Block App Activation.

Créer un package pour l’attachement d’application MSIXCreate package for MSIX app attach

attachement d’application

  • Display name (Nom complet) : donnez à votre tâche le nom de votre choix.Display name - Customize your task name.
  • Package Path (Chemin du package) : chemin du package/bundle MSIX.Package Path - This is the path to the MSIX package/bundle.
  • VHDX Output Path (Chemin de sortie VHDX) : chemin du fichier VHDX qui sera créé par la tâche.VHDX Output Path - This is the path of the VHDX file that will be created by the task.
  • VHDX size (Taille du VHDX) : taille maximale en Mo du VHDX.VHDX size - The maximum size in MBs of the VHDX.

Après avoir configuré toutes les tâches, vous pouvez utiliser une tâche Publish build artifacts (Publier les artefacts de build) pour déposer tous les artefacts de l’emplacement temporaire vers les artefacts Azure Pipelines ou un partage de fichiers de votre choix.After configuring all the tasks, you can use a Publish build artifacts task to drop all the artifacts from the temp location to Azure Pipelines artifacts or a file share of your choice.

Faites-nous part de vos commentairesWays to provide Feedback

Nous aimerions avoir votre avis sur l’extension MSIX Packaging.We would love to hear your feedback on the MSIX Packaging Extension. Contactez-nous par le biais des canaux suivants :Reach out to us via the following channels:

  • Passer en revue l’extension sur la Place de marché Azure DevOpsReview the extension on Azure DevOps Marketplace
  • MSIX Tech CommunityMSIX Tech Community
  • Projet open source sur GitHub : le code source de cette extension fait partie du projet open source MSIX SDK, qui accepte les contributions et les suggestions.GitHub open source project - The source code for this extension is a part of the MSIX SDK open source project, which welcomes contributions and suggestions.