MSIX-Paketerweiterung

Die MSIX-Paketerweiterung ist eine Azure DevOps-Erweiterung, mit der Windows-Apps mithilfe des MSIX-Paketformats erstellt, verpackt und signiert werden können.

CI/CD-Workflows sind zu einem integralen Bestandteil des Entwicklungsprozesses geworden, um die Effizienz und Qualität zu verbessern und gleichzeitig die Kosten und die Markteinführungszeit zu reduzieren. Die CI/CD-Lösung Azure DevOps Pipelines von Microsoft ist weit verbreitet und beliebt, aber der aktuelle Prozess der Integration von Build- und Bereitstellungsworkflows für Apps, die als MSIX in Azure Pipelines verpackt werden müssen, ist mühsam, insbesondere für Personen, die keine Azure Pipelines- oder MSIX-Experten sind. Diese Azure DevOps-Erweiterung bietet eine unkomplizierte und intuitive Lösung, die die Automatisierung des Build- und Bereitstellungsprozesses für Apps erleichtert, die als MSIX verpackt werden, und für Apps mit vorhandenen CI/CD-Workflows, die zu MSIX verschoben werden können, ohne ihre Build- und Bereitstellungsmechanismen zu unterbrechen.

Die MSIX-Paketerweiterung enthält die folgenden Aufgaben, mit denen Sie Ihre Pipeline entsprechend Ihren Anforderungen erstellen können:

  1. MSIX-Build und -Paket: zum Erstellen und Verpacken von Windows-Apps mithilfe des MSIX-Paketformats
  2. MSIX-Paketsignierung – zum Signieren von MSIX-Paketen mit einem vertrauenswürdigen Zertifikat
  3. App-Installer-Datei für MSIX : zum Erstellen oder Aktualisieren einer .appinstaller-Datei für MSIX-Apps
  4. Erstellen eines Pakets für MSIX-App-Anfügen : So erstellen Sie ein VHDX-Paket für das Anfügen von MSIX-Apps.

Installieren der Erweiterung

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

Durchsuchen Sie den Marktplatz

Erstellen einer Pipeline

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

Pipeline auswählen

Neue Pipeline

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

Verwenden des klassischen Editors

Wählen Sie Ihr Versionskontrollsystem aus, und geben Sie die Details zum Repository und zum Standardzweig an.

Konfigurieren von Quell-VCs

Wenn Sie aufgefordert werden, eine Vorlage auszuwählen, klicken Sie auf Mit leerem Auftrag starten.

Beginnen Sie mit einem leeren Auftrag

Ändern Sie die Auswahl für die Agentspezifikation in windows-2019 , da die MSIX-Erweiterung nur auf einem Windows-Agent ausgeführt wird.

Fenster zur Agentenspezifikation

In Ihrer Pipeline sollte standardmäßig Agent-Auftrag 1 angezeigt werden. Klicken Sie auf das Plus-Symbol, um eine Aufgabe zum Agentenauftrag 1 hinzuzufügen.

Suchen Sie in der Suchleiste "Aufgaben hinzufügen" nach MSIX, und die zuvor erwähnten Aufgaben sollten in der MSIX-Paketerweiterung angezeigt werden. Sie können Ihre Pipeline individuell erstellen, indem Sie die Aufgaben hinzufügen, die Sie entsprechend Ihren Anforderungen benötigen. Auf dieser Seite zeigen wir Ihnen jedoch, wie Sie alle vier Aufgaben konfigurieren. Bild der ADO-Erweiterung1

MSIX-Build und -Paket

Hinweis: Wenn Sie versuchen, eine verpackte App mit dieser Aufgabe zu erstellen, müssen Sie das Projekt zum Verpacken von Windows-Anwendungen einschließen, da für die Aufgabe die Datei Package.appxmanifest erforderlich ist. Die Aufgabe fügt sie nicht automatisch für Sie hinzu.

Im Folgenden finden Sie ein Beispiel, das zeigt, wie die Build- und Paketaufgabe in der YAML-Datei konfiguriert wird:

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

Signieren von MSIX-Paketen

Die Signaturaufgabe ermöglicht das Signieren mit einem Zertifikat. Das Zertifikat kann aus der Secure Files-Bibliothek stammen oder als Zeichenfolge codiert werden, als ob es mit der Azure Key Vault-Aufgabe abgerufen würde.

Im Folgenden finden Sie 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-Installationsdatei für MSIX

Im Folgenden finden Sie 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

Im Folgenden finden Sie ein Beispiel, das zeigt, wie Sie die Aufgabe so konfigurieren, dass eine VHDX-Datei für die App-Anlage in der YAML-Datei erstellt wird:

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 des MSIX-App-Anfügepakets an AVD

Im Folgenden finden Sie ein Beispiel, das zeigt, wie Sie die avd-App-Anfügeaufgabe 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, Feedback zu geben

Wir würden uns sehr über Ihr Feedback zur MSIX-Paketerweiterung freuen. Kontaktieren Sie uns über die folgenden Kanäle: