MSIX-Verpackungserweiterung

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:

  1. MSIX erstellen und verpacken: Erstellen und Verpacken von Windows-Apps mithilfe des MSIX-Paketformats.
  2. MSIX Paketsignierung: Zum Signieren von MSIX-Paketen mithilfe eines vertrauenswürdigen Zertifikats.
  3. App-Installationsdatei für MSIX: Zum Erstellen oder Aktualisieren einer .appinstaller-Datei für MSIX-Apps.
  4. Paket erstellen für MSIX App-Anfügung: Zum Erstellen eines VHDX-Pakets für MSIX App-Anfügung.

Installieren der Erweiterung

Durchsuchen Sie den Azure DevOps Marketplace, und suchen Sie nach dem Erweiterungsnamen MSIX Packaging-Erweiterung.

Browse the marketplace

Erstellen einer Pipeline

Erstellen Sie eine neue Pipeline für Ihr Azure DevOps-Projekt.

select pipeline

New pipeline

Wählen Sie die Option aus, um mit dem klassischen Editor eine Pipeline ohne YAML zu erstellen.

Use the classic editor

Wählen Sie Ihr Versionskontrollsystem aus, und geben Sie die Details Ihres Repositorys und des Standardbranchs an.

Configure source vcs

Wenn Sie aufgefordert werden, eine Vorlage auszuwählen, klicken Sie auf Starten mit einem leeren Auftrag.

Start with an empty job

Ändern Sie Ihre Agent-Spezifikation in windows-2019, da die MSIX-Erweiterung nur auf einem Windows-Agent ausgeführt werden kann.

Agent specification windows

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.ADO Extension Image1

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.

Es folgt ein Beispiel, das zeigt, wie Sie die Build- und Paketerstellungsaufgabe in der YAML-Datei konfigurieren:

steps:
- task: MSIX.msix-ci-automation-task-dev.msix-packaging.MsixPackaging@1
  displayName: 'MSIX build and package'
  inputs:
    outputPath: '$(Build.ArtifactStagingDirectory)\MyApp.msix'
    solution: MyUWPApp.sln
    buildPlatform: x64
    updateAppVersion: true
    manifestFile: MyUWPApp/Package.appxmanifest
    appVersion: 2.0.0.0
    appPackageDistributionMode: SideloadOnly
    msbuildArchitecture: x64

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.

Es folgt ein Beispiel, das zeigt, wie Sie die Paketsignaturaufgabe in der YAML-Datei konfigurieren:

steps:
- task: MSIX.msix-ci-automation-task-dev.msix-signing.MsixSigning@1
  displayName: 'Sign MSIX package'
  inputs:
    certificateType: base64
    encodedCertificate: '$(kvtestcert)'

App-Installer-Datei für MSIX

Es folgt ein Beispiel, das zeigt, wie Sie die AppInstaller-Dateiaufgabe in der YAML-Datei konfigurieren:

steps:
- task: MSIX.msix-ci-automation-task-dev.app-installer-file.AppInstallerFile@1
  displayName: 'Create App Installer file'
  inputs:
    package: '$(Build.ArtifactStagingDirectory)\MyApp.msix'
    outputPath: '$(Build.ArtifactStagingDirectory)\MyApp.appinstaller'
    uri: 'https://myuwpapp-demo.azurewebsites.net/MyApp.appinstaller'
    mainItemUri: 'https://myuwpapp-demo.azurewebsites.net/MyApp.msix'
    showPromptWhenUpdating: true
    updateBlocksActivation: true

Erstellen eines Pakets für die MSIX App-Anfügung

Es folgt ein Beispiel, das zeigt, wie Sie die Aufgabe zum Erstellen einer VHDX-Datei zum Anfügen von Apps in der YAML-Datei konfigurieren:

steps:
- task: MSIX.msix-ci-automation-task-dev.msix-app-attach.MsixAppAttach@1
  displayName: 'Create package for MSIX app attach'
  inputs:
    package: '$(Build.ArtifactStagingDirectory)\MyApp.msix'
    vhdxOutputPath: '$(Build.ArtifactStagingDirectory)\MyApp.vhdx'

Veröffentlichen eines mit dem MSIX-Feature zum Anfügen von Apps erstellten Pakets in AVD

Es folgt ein Beispiel, das zeigt, wie Sie die AVD App Attach-Aufgabe in der YAML-Datei konfigurieren:

steps:
- task: MSIX.msix-ci-automation-task-dev.avd-app-attach-publish.AVDAppAttachPublish@0
  displayName: 'Publish MSIX app attach package to AVD'
  inputs:
    vhdxPath: '$(Build.ArtifactStagingDirectory)/App.vhdx' 
    connectedServiceNameARM: 'ed1db943-1e1c-4eac-8683-ead2abc281b5' 
    resourceGroupName: 'appattach-test-rg' 
    storageAccount: 'appattachteststorage' 
    fileShare: 'appattach-test-fs' 
    hostPool: 'appattach-hostpool' 
    workSpace: 'appattach-test-ws' 
    applicationGroup: 'appattach-test-ag-rail' 

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
  • MSIX 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.