Die MSIX-Verpackungserweiterung ist eine Azure DevOps-Erweiterung, die das Erstellen, Verpacken und Signieren von Windows-Apps unter Verwendung des MSIX-Paketformats unterstützt.
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. 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 ist mühsam, insbesondere für Personen, die keine Experten für Azure-Pipelines oder MSIX sind. Diese Azure DevOps-Erweiterung bietet eine klare und intuitive 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 auf den Kopf zu stellen.
Die MSIX-Verpackungserweiterung enthält die folgenden Aufgaben, die Sie verwenden können, um ihre Pipeline entsprechend Ihren Anforderungen zu erstellen:
MSIX erstellen und verpacken: Erstellen und Verpacken von Windows-Apps mithilfe des MSIX-Paketformats.
MSIX Paketsignierung: Zum Signieren von MSIX-Paketen mithilfe eines vertrauenswürdigen Zertifikats.
App-Installationsdatei für MSIX: Zum Erstellen oder Aktualisieren einer .appinstaller-Datei für MSIX-Apps.
Paket erstellen für MSIX App-Anfügung: Zum Erstellen eines VHDX-Pakets für MSIX App-Anfügung.
Installieren Sie die -Erweiterung.
Durchsuchen Sie den Azure DevOps Marketplace, und suchen Sie nach dem Erweiterungsnamen MSIX Packaging-Erweiterung.
Erstellen einer Pipeline
Erstellen Sie eine neue Pipeline für Ihr Azure DevOps-Projekt.
Wählen Sie die Option aus, um mit dem klassischen Editor eine Pipeline ohne YAML zu erstellen.
Wählen Sie Ihr Versionskontrollsystem aus, und geben Sie die Details Ihres Repositorys und des Standardbranchs an.
Wenn Sie aufgefordert werden, eine Vorlage auszuwählen, klicken Sie auf Starten mit einem leeren Auftrag.
Ändern Sie Ihre Agent-Spezifikation in windows-2019, da die MSIX-Erweiterung nur auf einem Windows-Agent ausgeführt werden kann.
In ihrer Pipeline sollte standardmäßig Agent-Auftrag 1 angezeigt werden. Klicken Sie auf das Pluszeichen, um dem Agent-Auftrag 1 eine Aufgabe hinzuzufügen.
Suchen Sie in der Suchleiste Aufgaben hinzufügen nach MSIX, woraufhin die zuvor erwähnten Aufgaben in der MSIX-Verpackungserweiterung angezeigt werden sollten. Sie können ihre Pipeline benutzerdefiniert erstellen, indem Sie die benötigten Aufgaben entsprechend Ihren Anforderungen hinzufügen. Wir veranschaulichen aber, wie alle vier Aufgaben auf dieser Seite konfiguriert werden.
MSIX erstellen und verpacken
Hinweis: Wenn Sie versuchen, mit dieser Aufgabe eine verpackte App zu erstellen, müssen Sie das Paketerstellungsprojekt für Windows-Anwendungen einschließen,da die Aufgabe die Datei „Package.appxmanifest“ benötigt. Die Aufgabe fügt es nicht automatisch hinzu.
Ausgabepfad: Geben Sie den Ausgabepfad für das MSIX-Paket an, das von dieser Aufgabe erstellt wird. Der Pfad im obigen Beispiel verwendet die vordefinierte VariableBuild.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.
Projektmappe mit MSBuild erstellen: Wählen Sie diese Option aus, um Ihre Projektmappe mit MSBuild für die angegebene Zielplattform zu erstellen. Lassen Sie das Kontrollkästchen deaktiviert, wenn Sie bereits Binärdateien besitzen, die nur noch gepackt werden müssen. Wenn Sie das Kontrollkästchen deaktiviert lassen, werden Sie aufgefordert, den Pfad zu Ihren Binärdateien anzugeben.
Zu erstellendes Projekt: Geben Sie den Pfad zu Ihrer Projekt- oder Projektmappendatei an, die erstellt werden soll.
Vor dem Erstellen bereinigen: Aktivieren Sie dieses Kontrollkästchen, wenn Sie möchten, dass die Aufgabe vor dem Erstellen eine Buildbereinigung ausführen soll.
MSIX-Bündel generieren: Aktivieren Sie dieses Kontrollkästchen, um ein MSIX-Bundle anstelle eines Pakets zu generieren. Stellen Sie sicher, dass Sie Ihre Ausgabedatei in der Option Ausgabepfad mit der Erweiterung „.msixbundle“ anstatt mit „.msix“ benennen.
Konfiguration: Wählen Sie aus zwischen den Buildkonfigurationen Debug und Release.
Plattform: Geben Sie die Zielbuildplattform an, z. B. x64, x86, Beliebige 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. Dadurch wird die „.appxmanifest“-Datei nicht überschrieben, sondern die App-Version im generierten MSIX-Ausgabepaket geändert. Wenn diese Option ausgewählt ist, werden Sie aufgefordert, den Pfad zu der Manifestdatei sowie die für die App festzulegende App-Versionsnummer anzugeben.
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.
MSBuild-Version und -Architektur: Passen Sie Ihr MSBuild an, indem Sie erweiterte Optionen angeben.
Signierung von MSIX-Paketen
Die Signaturaufgabe ermöglicht die Signierung mithilfe eines Zertifikats. Das Zertifikat kann aus der Bibliothek für sichere Dateien stammen oder als Zeichenfolge codiert werden, als würde es mit der Azure Key Vault-Aufgabe abgerufen.
Dieses Beispiel zeigt die Aufgabe, wenn die Quelle des Zertifikats die Bibliothek für sichere Dateien ist.
Dieses Beispiel zeigt die Aufgabe, wenn die Quelle des Zertifikats ein Azure Key Vault ist.
Anzeigename: Passen Sie den Aufgabennamen an.
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.
Zertifikatdateityp: Wählen Sie die Quelle der zu verwendenden Zertifikatdatei aus.
Zeitstempelserver: Eine URL, mit der die Adresse eines Zeitstempelservers angegeben wird. Dies ist ein optionaler Parameter.
Paket: Dies ist der Pfad zu dem Paket oder Bündel, für das Sie einen App-Installer erstellen möchten.
Ausgabedateipfad: Dies ist der Pfad, in den die App-Installer-Datei geschrieben werden soll.
Methode zum Erstellen der App-Installer-Datei: Wählen Sie aus, ob eine neue App-Installer-Datei erstellt oder eine vorhandene aktualisiert werden soll. Wenn Sie sich zum Aktualisieren einer vorhandenen entschließen, werden Sie aufgefordert, den Pfad zu der vorhandenen App-Installer-Datei anzugeben.
Version für die App-Installer-Datei: Die Versionsnummer, die vergeben wird. Muss das Format (Hauptversion).(Nebenversion).(Build).(Revision) haben.
URI: Der Web-URI zu der umgeleiteten App-Installer-Datei.
Hauptpaket-/-bündel-URI: Der URI zum Speicherort des App-Pakets/-Bündels.
Beim Start aktualisieren: Wählen Sie diese Option aus, um festzulegen, dass die App beim Starten nach Updates sucht. 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.
Paketpfad: Dies ist der Pfad zum MSIX-Paket/-Bündel.
VHDX-Ausgabepfad: Dies ist der Pfad der VHDX-Datei, die von der Aufgabe erstellt wird.
VHDX-Größe: Die maximale Größe der VHDX in MB.
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.
Veröffentlichen eines mit dem MSIX-Feature zum Anfügen von Apps erstellten Pakets in AVD
Paketpfad: Dies ist der Pfad zum MSIX-Paket/-Bündel.
VHDX-Ausgabepfad: Dies ist der Pfad der VHDX-Datei, die von der Aufgabe erstellt wird.
VHDX-Größe: Die maximale Größe der VHDX in MB.
Anzeigename: Passen Sie Ihren Aufgabennamen an.
VHDX-Pfad: Dies ist der Pfad der VHDX-Datei, die über App Attach zu Azure Virtual Desktop (AVD) hinzugefügt (veröffentlichen) wird.
Azure-Abonnement: Dies ist die Dienstverbindung zum Azure-Zielabonnement, an das Ihre Anwendung über App Attach angefügt werden muss. In der Dropdownliste sind alle Azure-Abonnements aufgeführt, die für den aktuellen angemeldeten ADO-Benutzer verfügbar sind, und der Benutzer kann eines dieser Abonnements auswählen und zu diesem eine Dienstverbindung herstellen.
Ressourcengruppe: Wählen Sie die Ressourcengruppe aus, in der Ihre App veröffentlicht werden soll. Diese Ressourcengruppe sollte alle Zielressourcen enthalten, die für App Attach erforderlich sind, z. B. Speicherkonto, Hostpool, Arbeitsbereich, Anwendungsgruppe. In dieser Dropdownliste sind alle im Rahmen des ausgewählten Azure-Abonnements verfügbaren Ressourcengruppen aufgeführt.
Speicherkonto: Wählen Sie das Speicherkonto aus, in das Sie Ihre Anwendung (oder VHDX) hochladen möchten. In dieser Dropdownliste sind alle unter der ausgewählten Ressourcengruppe verfügbaren Speicherkonten aufgeführt.
Dateifreigabe: Wählen Sie die Dateifreigabe im ausgewählten Speicherkonto aus, in das Sie Ihre Anwendung (oder VHDX) hochladen möchten. In dieser Dropdownliste sind alle im ausgewählten Speicherkonto verfügbaren Dateifreigaben aufgeführt.
Hostpool: Wählen Sie den Hostpool aus, der für das Anfügen der Anwendung verwendet werden soll. In dieser Dropdownliste sind alle unter der ausgewählten Ressourcengruppe verfügbaren Hostpools aufgeführt.
Arbeitsbereich: Wählen Sie den Arbeitsbereich aus, der für das Anfügen der Anwendung verwendet werden soll. In dieser Dropdownliste sind alle unter der ausgewählten Ressourcengruppe verfügbaren Arbeitsbereiche aufgeführt.
Anwendungsgruppe: Wählen Sie die Anwendungsgruppe aus, die zum Anfügen der Anwendung verwendet werden soll. In dieser Dropdownliste sind alle unter der ausgewählten Ressourcengruppe verfügbaren Anwendungsgruppen aufgeführt.
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.
Möglichkeiten zur Abgabe von Feedback
Wir freuen und auf Ihr Feedback zur MSIX-Verpackungserweiterung. Wenden Sie sich über die folgenden Kanäle an uns:
Überprüfen der Erweiterung im Azure DevOps Marketplace
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.