MSIX-VerpackungserweiterungMSIX Packaging Extension

Die MSIX-Verpackung serweiterung ist eine Azure DevOps-Erweiterung, die das Erstellen, Verpacken und Signieren von Windows-Apps unter Verwendung des MSIX-Paketformats unterstützt.The MSIX Packaging Extension is an Azure DevOps extension which helps build, package and sign Windows apps using the MSIX package format.

CI/CD-Workflows sind zu einem integralen Bestandteil des Entwicklungsprozesses geworden, um Effizienz und Qualität zu verbessern und gleichzeitig Kosten und Markteinführungszeiten zu verringern.CI/CD workflows have become an integral part of the development process to improve efficiency and quality while reducing cost and time to market. Die CI/CD-Lösung Azure DevOps-Pipelines von Microsoft ist weit verbreitet und beliebt, aber der aktuelle Prozess zur Integration von Build- und Bereitstellungsworkflows für Apps, die als MSIX gepackt werden müssen, in Azure Pipelines mithilfe von YAML-Dateien ist mühsam, insbesondere für Personen, die keine Experten für Azure-Pipelines oder MSIX sind.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. Diese Azure DevOps-Erweiterung bietet eine klare, intuitive und benutzeroberflächenbasierte Lösung, mit der sich der Build- und Bereitstellungsprozess für Apps, die als MSIX gepackt werden, einfacher automatisieren lässt, sowie für Apps mit vorhandenen CI/CD-Workflows, die auf MSIX umsteigen, ohne deren Build- und Bereitstellungsmechanismen zu unterbrechen.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.

Die MSIX-Verpackung serweiterung enthält die folgenden Aufgaben, die Sie verwenden können, um ihre Pipeline entsprechend Ihren Anforderungen zu erstellen:The MSIX Packaging Extension contains the following tasks that you can use to custom build your pipeline according to your requirements:

  1. MSIX erstellen und verpacken: Erstellen und Verpacken von Windows-Apps mithilfe des MSIX-Paketformats.MSIX build and package - to build and package Windows apps using the MSIX package format
  2. MSIX Paketsignierung: Zum Signieren von MSIX-Paketen mithilfe eines vertrauenswürdigen Zertifikats.MSIX package signing - to sign MSIX packages using a trusted certificate
  3. App-Installationsdatei für MSIX: Zum Erstellen oder Aktualisieren einer .appinstaller-Datei für MSIX-Apps.App installer file for MSIX - to create or update a .appinstaller file for MSIX apps
  4. Paket erstellen für MSIX App-Anfügung: Zum Erstellen eines VHDX-Pakets für MSIX App-Anfügung.Create package for MSIX app attach - to create a VHDX package for MSIX app attach

Installieren der ErweiterungInstall the extension

Durchsuchen Sie den Azure DevOps Marketplace, und suchen Sie nach dem Erweiterungsnamen MSIX Packaging-Erweiterung.Browse the Azure DevOps Marketplace and look for the extension name MSIX Packaging Extension.

Durchsuchen des Marketplace

Erstellen einer PipelineCreate a Pipeline

Erstellen Sie eine neue Pipeline für Ihr Azure DevOps-Projekt.Create a new pipeline for your Azure DevOps project.

Pipeline auswählen

Neue Pipeline

Wählen Sie die Option aus, um mit dem klassischen Editor eine Pipeline ohne YAML zu erstellen.Select the option to Use the classic editor to create a pipeline without YAML.

Verwenden des klassischen Editors

Wählen Sie Ihr Versionskontrollsystem aus, und geben Sie die Details Ihres Repositorys und des Standardbranchs an.Select your version control system and provide your repository and default branch details.

Konfigurieren des Quellcodeverwaltungssystems

Wenn Sie aufgefordert werden, eine Vorlagen auszuwählen, klicken Sie auf *Starten mit einem leeren Auftrag _.When asked to Select a template, click *start with an Empty job _.

Starten mit einem leeren Auftrag

Ändern Sie Ihre Agent-Spezifikation* in *windows-2019, da die MSIX-Erweiterung nur auf einem Windows-Agent ausgeführt wird.Change your Agent Specification* selection to *windows-2019 since the MSIX extension runs only on a Windows agent.

Agent-Spezifikationsfenster

In ihrer Pipeline sollte standardmäßig „_Agent-Auftrag 1*“ angezeigt werden.You should see _Agent job 1* by default in your pipeline. Klicken Sie auf das Pluszeichen, um dem Agent-Auftrag 1 eine Aufgabe hinzuzufügen.Click on the plus symbol to Add a task to Agent job 1.

Suchen Sie in der Suchleiste „_Aufgaben hinzufügen*“ nach *MSIX _, woraufhin die zuvor erwähnten Aufgaben in der MSIX-Verpackung serweiterung angezeigt werden sollten.Search for MSIX _ in the _Add tasks search bar and you should see the tasks mentioned before in the MSIX Packaging Extension. Sie können ihre Pipeline benutzerdefiniert erstellen, indem Sie die benötigten Aufgaben entsprechend Ihren Anforderungen hinzufügen.You can custom build your pipeline by adding the tasks you need according to your requirements. Wir veranschaulichen aber, wie alle vier Aufgaben auf dieser Seite konfiguriert werden.But we will demonstrate how to configure all four tasks on this page.

Hinzufügen einer Aufgabe

MSIX erstellen und verpackenMSIX build and package

Aufgabe zum Erstellen und Packen

  • Anzeigename: Passen Sie den Aufgabennamen an.Display name - Customize your task name
  • Ausgabepfad: Geben Sie den Ausgabepfad für das MSIX-Paket an, das von dieser Aufgabe erstellt wird.Output Path - Specify the output path for the MSIX package that will be created by this task. Der Pfad im obigen Beispiel verwendet die vordefinierte Variable Build.ArtifactStagingDirectory, bei der es sich um den lokalen Pfad auf dem Agent zum Speichern von Artefakten handelt, und der hier verwendet wird, um Aufgabenausgabedateien zu speichern, die später mithilfe einer Aufgabe zum Veröffentlichen von Artefakten veröffentlicht werden können.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.
  • Projektmappe mit MSBuild erstellen: Wählen Sie diese Option aus, um Ihre Projektmappe mit MSBuild für die angegebene Zielplattform zu erstellen.Build Solution with MSBuild - Select this option to build your solution with msbuild for the specified target platform. Lassen Sie das Kontrollkästchen deaktiviert, wenn Sie bereits Binärdateien besitzen, die nur noch gepackt werden müssen.Leave the box unchecked if you already have binaries that just need to be packaged. Wenn Sie das Kontrollkästchen deaktiviert lassen, werden Sie aufgefordert, den Pfad zu Ihren Binärdateien anzugeben.If you leave the box unchecked, you will be asked to provide the path to your binaries.
  • Zu erstellendes Projekt: Geben Sie den Pfad zu Ihrer Projekt- oder Projektmappendatei an, die erstellt werden soll.Project to Build - Provide the path to your project or solution file that needs to be built.
  • Vor dem Erstellen bereinigen: Aktivieren Sie dieses Kontrollkästchen, wenn Sie möchten, dass die Aufgabe vor dem Erstellen eine Buildbereinigung ausführen soll.Clean before Building - Select this checkbox if you want the task to run a clean build prior to the build.
  • MSIX-Bündel generieren: Aktivieren Sie dieses Kontrollkästchen, um ein MSIX-Bundle anstelle eines Pakets zu generieren.Generate MSIX Bundle - Select this checkbox to generate an MSIX bundle instead of a package. Stellen Sie sicher, dass Sie Ihre Ausgabedatei in der Option Ausgabepfad mit der Erweiterung „.msixbundle“ anstatt mit „.msix“ benennen.Make sure to name your output file in the Output Path option with a .msixbundle extension instead of .msix.
  • Konfiguration: Wählen Sie aus zwischen den Buildkonfigurationen Debug und Release.Configuration - Choose between Debug and Release build configurations.
  • Plattform: Geben Sie die Zielbuildplattform an, z. B. x64, x86, Beliebige CPU.Platform - Specify the target build platform, for example, x64, x86, Any CPU.
  • App-Version in Manifest aktualisieren: Aktivieren Sie dieses Kontrollkästchen, um die App-Version gegenüber der in der „.appxmanifest“-Datei angegebenen zu ändern.Update App Version in Manifest - Select this checkbox to change the app version from the one specified in the app's .appxmanifest file. Dadurch wird die „.appxmanifest“-Datei nicht überschrieben, sondern die App-Version im generierten MSIX-Ausgabepaket geändert.This will not overwrite the .appxmanifest file, but change the app version in the generated output MSIX package. Wenn diese Option ausgewählt ist, werden Sie aufgefordert, den Pfad zu der Manifestdatei sowie die für die App festzulegende App-Versionsnummer anzugeben.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.
  • Verteilungsmodus für Anwendungspaket: Wählen Sie den Modus aus dem Dropdownmenü aus, um ein Store-App-Paket oder ein Nicht-Store-App-Paket zu generieren.Application Package Distribution Mode - Select the mode from the dropdown menu to generate a Store app package or non-Store app package.
  • Erweiterte Optionen für MSBuild: Passen Sie Ihren MSBuild mithilfe erweiterter Optionen an.Advanced Options for MSBuild - Customize your MSBuild by using advanced options.

Signierung von MSIX-PaketenMSIX package signing

Signieraufgabe

  • Anzeigename: Passen Sie den Aufgabennamen an.Display name - Customize your task name
  • Zu signierendes Paket: Die MSIX-Aufgabe zum Signieren von Paketen verwendet SignTool, um alle Dateien zu signieren, die diesem Pfad entsprechen, unabhängig davon, ob es sich um MSIX-Pakete oder Bündel handelt.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.
  • Zertifikatdatei: Wählen Sie Ihr vertrauenswürdiges Zertifikat zum Signieren der App aus dem Dropdown aus, oder laden Sie eine Zertifikatdatei über das Zahnradsymbol hoch.Certificate file - Select your trusted certificate to sign the app from the dropdown, or upload a certificate file by using the gear icon.
  • Kennwortvariable: Der Name der Variablen, in der das Kennwort gespeichert wird, das für den Zugriff auf die Zertifikatdatei zum Signieren verwendet wird.Password Variable - The name of the variable which stores the password used to access the certificate file for signing. Beachten Sie, dass dies NICHT das Kennwort selbst ist, sondern der Variablenname, der unter „Bibliothek“ festgelegt werden kann.Note that this is NOT the password itself, but rather the variable name, which can be set under Library.
  • Zeitstempelserver: Eine URL, mit der die Adresse eines Zeitstempelservers angegeben wird.Time Stamp Server - A URL that specifies the address of a time stamping server. Dies ist ein optionaler Parameter.This is an optional parameter.

App-Installer-Datei für MSIXApp installer file for MSIX

appinstaller

  • Anzeigename: Passen Sie den Aufgabennamen an.Display name - Customize your task name
  • Paket: Dies ist der Pfad zu dem Paket oder Bündel, für das Sie einen App-Installer erstellen möchten.Package - This is the path to the package or bundle you want to create an App Installer for.
  • Ausgabedateipfad: Dies ist der Pfad, in den die App-Installer-Datei geschrieben werden soll.Output File Path - This is the path of the App Installer file to be written.
  • Methode zum Erstellen der App-Installer-Datei: Wählen Sie aus, ob eine neue App-Installer-Datei erstellt oder eine vorhandene aktualisiert werden soll.Method to Create App Installer File - Choose whether to create a new App Installer file or update an existing one. Wenn Sie sich zum Aktualisieren einer vorhandenen entschließen, werden Sie aufgefordert, den Pfad zu der vorhandenen App-Installer-Datei anzugeben.If you choose to update an existing one, you will be asked to provide the path to the existing App Installer file.
  • Version für die App-Installer-Datei: Die Versionsnummer, die vergeben wird.Version for App Installer file - The version number which will be given. Muss das Format (Hauptversion).(Nebenversion).(Build).(Revision) haben.Must take the form (major).(minor).(build).(revision).
  • URI: Der Web-URI zu der umgeleiteten App-Installer-Datei.URI - Web URI to the redirected App Installer file.
  • Hauptpaket-/-bündel-URI: Der URI zum Speicherort des App-Pakets/-Bündels.Main Package/Bundle URI - URI to the app package/bundle location.
  • Beim Start aktualisieren: Wählen Sie diese Option aus, um festzulegen, dass die App beim Starten nach Updates sucht.Update On Launch - Select this to set the app to check for updates when launched. Wenn dieses Kontrollkästchen aktiviert ist, werden Sie aufgefordert, Details wie Stunden zwischen Updateüberprüfungen anzugeben, ob die Benutzeroberfläche dem Benutzer beim Aktualisieren angezeigt werden soll, und ob das Update die App-Aktivierung blockieren soll.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.

Erstellen eines Pakets für die MSIX App-AnfügungCreate package for MSIX app attach

App-Anfügung

  • Anzeigename: Passen Sie Ihren Aufgabennamen an.Display name - Customize your task name.
  • Paketpfad: Dies ist der Pfad zum MSIX-Paket/-Bündel.Package Path - This is the path to the MSIX package/bundle.
  • VHDX-Ausgabepfad: Dies ist der Pfad der VHDX-Datei, die von der Aufgabe erstellt wird.VHDX Output Path - This is the path of the VHDX file that will be created by the task.
  • VHDX-Größe: Die maximale Größe der VHDX in MB.VHDX size - The maximum size in MBs of the VHDX.

Nachdem Sie alle Aufgaben konfiguriert haben, können Sie eine Aufgabe Buildartefakte veröffentlichen verwenden, um alle Artefakte von dem temporären Speicherort auf Azure-Pipelines-Artefakte oder eine Dateifreigabe Ihrer Wahl zu verschieben.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.

Möglichkeiten zur Abgabe von FeedbackWays to provide Feedback

Wir freuen und auf Ihr Feedback zur MSIX-Verpackung serweiterung.We would love to hear your feedback on the MSIX Packaging Extension. Wenden Sie sich über die folgenden Kanäle an uns:Reach out to us via the following channels:

  • Überprüfen der Erweiterung im Azure DevOps MarketplaceReview the extension on Azure DevOps Marketplace
  • MSIX Tech CommunityMSIX Tech Community
  • GitHub-Open-Source-Projekt: Der Quellcode für diese Erweiterung ist Teil des MSIX-SDK-Open-Source-Projekts, das sich über Beiträge und Vorschläge freut.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.