Bündeln von MSIX-Paketen

In diesem Artikel wird die Erstellung eines Bündels nach der Konvertierung von x86- und x64-Versionen Ihrer Windows-Installationsprogramme mithilfe des MSIX Packaging Tools beschrieben.

Durch Bündeln der Versionen verschiedener Architekturen Ihres Installationsprogramms in einer Entität muss nur das Bündel in den Store oder einen anderen Verteilungsort hochgeladen werden. Auf der Windows 10-Bereitstellungsplattform wird der Pakettyp „.msixbundle“ erkannt, und es werden nur die Dateien heruntergeladen, die für die Architektur Ihres Geräts relevant sind. Bedenken Sie, dass Sie, wenn Sie sich für die Verteilung eines .msixbundle für eine bestimmte App entscheiden, dies nicht rückgängig machen können, um dann nur ein MSIX-Paket zu verteilen.

Der folgende Abschnitt enthält eine ausführliche Anleitung zum Erstellen eines MSIXBUNDLE-Pakets. Es wird davon ausgegangen, dass Sie Ihre vorhandenen x86- und x64-Versionen des Windows-Installationsprogramms bereits in MSIX-Pakete konvertiert haben.

Einrichten

Für die erfolgreiche Erstellung eines MSIX-Bündels ist folgendes Setup erforderlich:

  • Windows 10 SDK (Version 1809 oder höher)
  • Konvertierte x64- und x86-MSIX-Pakete

Schritt 1: Find MakeAppx.exe

MakeAppx.exe ist ein im Windows 10 SDK verfügbares Tool, mit dem MSIX-Pakete gepackt und gebündelt werden können. Sie verwenden dieses Tool, um zwei MSIX-Pakete zu bündeln.

„MakeAppx.exe“ kann verwendet werden, um die Dateiinhalte eines Windows 10-App-Pakets oder eines Windows 10-App-Bündels zu extrahieren. Außerdem können mit diesem Tool Pakete und Bündel verschlüsselt und entschlüsselt werden.

Nach der Installation des Windows 10 SDK befindet sich „MakeAppx.exe“ normalerweise in folgendem Verzeichnis:

  • [x86]: C:\Programme (x86)\Windows Kits\10\bin\10.0.17763.0\x86\MakeAppx.exe
  • [x64]: C:\Programme (x86)\Windows Kits\10\bin\10.0.17763.0\x64\MakeAppx.exe

Schritt 2: Bündeln der Pakete

Die einfachste Möglichkeit zum Bündeln von Paketen mit „MakeAppx.exe“ besteht darin, alle zu bündelnden Pakete in einem Ordner hinzuzufügen. Das Verzeichnis muss frei von allem sein, außer den Paketen, die gebündelt werden müssen.

Verschieben Sie die App-Pakete, die Sie bündeln möchten, wie im folgenden Screenshot gezeigt in ein Verzeichnis.

Bundle packages in a directory

Hinweis

Mit „MakeAppx.exe“ werden nur Pakete mit der gleichen Identität gebündelt, d. h., die App-ID, der Hersteller und die Version müssen identisch sein. Nur die Prozessorarchitektur der Pakete für ein Anwendungspaket kann unterschiedlich sein.

„MakeAppx.exe“ hat die folgende Befehlszeilensyntax.

C:\> "C:\Program Files (x86)\Windows Kits\10\bin\10.0.17763.0\x86\MakeAppx.exe" bundle /d input_directorypath 
/p <filepath>.msixbundle

Nachfolgend finden Sie einen Beispielbefehl.

C:\> "C:\Program Files (x86)\Windows Kits\10\bin\10.0.17763.0\x86\MakeAppx.exe" bundle /d c:\AppPackages\ 
/p c:\MyLOBApp_10.0.0.0_ph32m9x8skttmg.msixbundle

Nachdem der Befehl ausgeführt wurde, wird im angegebenen Pfad ein unsigniertes MSIXBUNDLE-Paket erstellt. Pakete müssen nicht vor dem Bündeln signiert werden.

Schritt 3: Signieren des Bündels

Nachdem Sie das Paket erstellt haben, müssen Sie es signieren, bevor Sie die App an Ihre Benutzer verteilen oder installieren können.

Zum Signieren eines Pakets benötigen Sie ein allgemeines Codesignaturzertifikat, und Sie müssen „SignTool.exe“ aus dem Windows 10 SDK verwenden.

Es wird dringend empfohlen, dass Sie ein vertrauenswürdiges Zertifikat von der Zertifizierungsstelle verwenden, da das Paket so nahtlos auf den Endbenutzergeräten verteilt und bereitgestellt werden kann. Sobald Sie auf das private Zertifikat (PFX-Datei) zugreifen können, können Sie das Paket wie im Folgenden dargestellt signieren.

Hinweis

„SignTool.exe“ ist im selben Verzeichnis des Windows 10 SDK wie „MakeAppx.exe“ verfügbar.

„SignTool.exe“ weist die folgende Befehlszeilensyntax auf.

C:\> "C:\Program Files (x86)\Windows Kits\10\bin\10.0.17763.0\x86\SignTool.exe" sign /fd <Hash Algorithm> /a 
/f <Path to Certificate>.pfx /p <Your Password> <File path>.msixbundle

Nachfolgend finden Sie einen Beispielbefehl.

C:\> "C:\Program Files (x86)\Windows Kits\10\bin\10.0.17763.0\x86\SignTool.exe" sign /fd SHA256 /a 
/f c:\private-cert.pfx /p aaabbb123 c:\MyLOBApp_10.0.0.0_ph32m9x8skttmg.msixbundle

Weitere Informationen zum Signieren von App-Paketen mit „SignTool.exe“ finden Sie in diesem Artikel.

Nach dem Signieren des Bündels können Sie es in einer Netzwerkfreigabe oder jedem anderen Inhaltsverteilungsnetzwerk hosten und an Ihre Benutzer verteilen.