App-Objekt-Manager (MakeAppx.exe)

Hinweis

Eine UWP-Anleitung zur Verwendung dieses Tools finden Sie unter Erstellen eines App-Pakets mit dem MakeAppx.exe Tool.

 

App Packager (MakeAppx.exe) erstellt ein App-Paket aus Dateien auf dem Datenträger oder extrahiert die Dateien aus einem App-Paket auf einen Datenträger. Ab Windows 8.1 erstellt App Packager auch ein App-Paket Paket aus app-Paketen auf einem Datenträger oder extrahiert die APP-Pakete aus einem App-Paket auf einen Datenträger. Es ist in Microsoft Visual Studio und im Windows Software Development Kit (SDK) für Windows 8 oder Windows Software Development Kit (SDK) für Windows 8.1 enthalten. Besuchen Sie Downloads für Entwickler , um diese zu erhalten.

Das MakeAppx.exe Tool befindet sich in der Regel an den folgenden Orten:

  • Auf x86: C: \ Program Files (x86) \ Windows Kits \ 8,0 \ bin \ x86 \makeappx.exe oder C: \ Program Files (x86) \ Windows Kits \ 8,1 \ bin \ x86 \makeappx.exe
  • Auf x64 an zwei Orten:
    • C: \ Programme (x86) \ Windows Kits \ 8,0 \ bin \ x86 \makeappx.exe oder C: \ Program Files (x86) \ Windows Kits \ 8,1 \ bin \ x86 \makeappx.exe
    • C: \ Programme (x86) \ Windows Kits \ 8,0 \ bin \ x64 \makeappx.exe oder C: \ Program Files (x86) \ Windows Kits \ 8,1 \ bin \ x64 \makeappx.exe

Es gibt keine Arm-Version des Tools.

Verwenden von App Packager

Hinweis

Relative Pfade werden im gesamten Tool unterstützt.

 

So erstellen Sie ein Paket mit einer Verzeichnisstruktur

Platzieren Sie die AppxManifest.xml im Stammverzeichnis eines Verzeichnisses, das alle Nutz Last Dateien für Ihre APP enthält. Eine identische Verzeichnisstruktur wird für das App-Paket erstellt und ist verfügbar, wenn das Paket zum Zeitpunkt der Bereitstellung extrahiert wird.

  1. Platzieren Sie alle Dateien in einer einzelnen Verzeichnisstruktur, und erstellen Sie nach Wunsch Unterverzeichnisse.

  2. Erstellen Sie ein gültiges Paket Manifest, AppxManifest.xml, und platzieren Sie es im Stammverzeichnis.

  3. Führen Sie den folgenden Befehl aus:

    Makeappx Pack/d input _ directerypath /p FilePath. AppX

So erstellen Sie ein Paket mit einer Mapping-Datei

  1. Erstellen Sie ein gültiges Paket Manifest, AppxManifest.xml.

  2. Erstellen Sie eine Mapping-Datei. Die erste Zeile enthält die Zeichen folgen [ Dateien ], und in den nachfolgenden Zeilen werden die Quell-(Datenträger) und Ziel Pfade (Paket) in Zeichen folgen in Anführungszeichen angegeben.

    [Files]
    "C:\MyApp\StartPage.htm"     "default.html"
    "C:\MyApp\readme.txt"        "doc\readme.txt"
    "\\MyServer\path\icon.png"   "icon.png"
    "MyCustomManifest.xml"       "AppxManifest.xml"
    
  3. Führen Sie den folgenden Befehl aus:

    Makeappx Pack/f Mapping _ FilePath /p FilePath. AppX

So signieren Sie das Paket mit SignTool

  1. Erstellen Sie das Zertifikat. Der im Manifest aufgelistete Verleger muss mit den Informationen des Verleger Antragstellers des Signatur Zertifikats identisch sein. Weitere Informationen zum Erstellen eines Signatur Zertifikats finden Sie unter Erstellen eines App-Paket-Signatur Zertifikats.

  2. Führen Sie SignTool.exe aus, um das Paket zu signieren:

    SignTool Sign/a/v/FD HashAlgorithm /f certfilename FilePath. AppX

    HashAlgorithm muss mit dem Hash Algorithmus, der zum Erstellen der blockmap verwendet wurde, beim Verpacken der App entsprechen. Mit dem Hilfsprogramm makeappx-Paket ist der standardmäßige AppX blockmap-Hash Algorithmus SHA256. Führen Sie SignTool.exe mit Angabe von SHA256 als File Digest-Algorithmus (/FD) aus:

    SignTool Sign/a/v/FD SHA256/f certfilename FilePath. AppX

    Weitere Informationen zum Signieren von Paketen finden Sie unter Signieren eines App-Pakets mit SignTool.

So extrahieren Sie Dateien aus einem Paket

  1. Führen Sie den folgenden Befehl aus:

    Makeappx entpacken/p File. AppX/d Ausgabe _ Verzeichnis

  2. Das entpackte Paket hat die gleiche Struktur wie das installierte Paket.

So erstellen Sie ein Paket Bündel mithilfe einer Verzeichnisstruktur

Wir verwenden den Bundle -Befehl, um eine APP Bundle zu erstellen. durch das Hinzufügen aller Pakete aus (einschließlich Unterordnern). Wenn ein Bündel Manifest enthält, wird AppxBundleManifest.xml ignoriert.

  1. Platzieren Sie alle Pakete in einer einzelnen Verzeichnisstruktur, und erstellen Sie nach Wunsch Unterverzeichnisse.

  2. Führen Sie den folgenden Befehl aus:

    Makeappx Bundle/d input _ directoriypath /p FilePath. appxbundle

So erstellen Sie ein Paket Bündel mithilfe einer Mapping-Datei

Wir verwenden den Bundle -Befehl, um eine APP Bundle zu erstellen. durch das Hinzufügen aller Pakete aus einer Liste von Paketen in . Wenn ein Bündel Manifest enthält, wird AppxBundleManifest.xml ignoriert.

  1. Erstellen Sie eine . Die erste Zeile enthält die Zeichen folgen [ Dateien ], und in den folgenden Zeilen werden die Pakete angegeben, die dem Paket hinzugefügt werden sollen. Jedes Paket wird durch ein paar von Pfaden in Anführungszeichen, getrennt durch Leerzeichen oder Registerkarten, beschrieben. Das Pfad paar stellt die Quelle des Pakets (auf dem Datenträger) und das Ziel (in Bundle) dar. Alle Ziel Paketnamen müssen die Erweiterung ". AppX" aufweisen.

        [Files]
        "C:\MyApp\MyApp_x86.appx"                 "MyApp_x86.appx"
        "C:\Program Files (x86)\ResPack.appx"    "resources\resPack.appx"
        "\\MyServer\path\ResPack.appx"           "Respack.appx"
        "my app files\respack.appx"              "my app files\respack.appx"
    
  2. Führen Sie den folgenden Befehl aus:

    Makeappx Bundle/f Mapping _ FilePath /p FilePath. appxbundle

So extrahieren Sie Pakete aus einem Bündel

  1. Führen Sie den folgenden Befehl aus:

    Makeappx entflechten/p Bundle _ Name. appxbundle/d Ausgabe _ Verzeichnis

  2. Das entpackte Paket hat die gleiche Struktur wie das installierte Paket Paket.

So verschlüsseln Sie ein Paket mit einer Schlüsseldatei

  1. Erstellen Sie eine Schlüsseldatei. Schlüsseldateien müssen mit einer Zeile beginnen, die die Zeichenfolge " [ Keys ] " enthält, gefolgt von Zeilen, in denen die Schlüssel zum Verschlüsseln des Pakets beschrieben werden. Jeder Schlüssel wird durch ein paar von Zeichen folgen in Anführungszeichen, getrennt durch Leerzeichen oder Tabstopps, beschrieben. Die erste Zeichenfolge stellt die Schlüssel-ID dar, und die zweite Zeichenfolge stellt den Verschlüsselungsschlüssel in hexadezimaler Form dar.

        [Keys]
        "0"                 "1AC4CDCFF1924D2885A0607269787BA6BF09B7FFEBF74ED4B9D86E423CF9186B"
    
  2. Führen Sie den folgenden Befehl aus:

    MakeAppx.exe verschlüsseln/p _ Paketname. AppX/EP verschlüsselter _ _ Paketname.eappx/KF KeyFile _ Name. txt

  3. Das Eingabe Paket wird mithilfe der angegebenen Schlüsseldatei in das angegebene verschlüsselte Paket verschlüsselt.

So verschlüsseln Sie ein Paket mit einem globalen Testschlüssel

  1. Führen Sie den folgenden Befehl aus:

    MakeAppx.exe verschlüsseln/p _ Paketname. AppX/EP verschlüsselter _ _ Paketname. eappx/KT

  2. Das Eingabe Paket wird mithilfe des globalen Test Schlüssels in das angegebene verschlüsselte Paket verschlüsselt.

So entschlüsseln Sie ein Paket mit einer Schlüsseldatei

  1. Erstellen Sie eine Schlüsseldatei. Schlüsseldateien müssen mit einer Zeile beginnen, die die Zeichenfolge " [ Keys ] " enthält, gefolgt von Zeilen, in denen die Schlüssel zum Verschlüsseln des Pakets beschrieben werden. Jeder Schlüssel wird durch ein paar von Zeichen folgen in Anführungszeichen, getrennt durch Leerzeichen oder Tabstopps, beschrieben. Die erste Zeichenfolge stellt die Base64-codierte 32-Byte-Schlüssel-ID und die zweite Zeichenfolge den Base64-codierten 32-Byte-Verschlüsselungsschlüssel dar.

        [Keys]
        "OWVwSzliRGY1VWt1ODk4N1Q4R2Vqc04zMzIzNnlUREU="                 "MjNFTlFhZGRGZEY2YnVxMTBocjd6THdOdk9pZkpvelc="
    
  2. Führen Sie den folgenden Befehl aus:

    MakeAppx.exe entschlüsseln/p _ Paketname. AppX/EP unverschlüsselter _ _ Paketname. eappx/KF KeyFile _ Name. txt

  3. Das Eingabe Paket wird mithilfe der angegebenen Schlüsseldatei in das angegebene unverschlüsselte Paket entschlüsselt.

So entschlüsseln Sie ein Paket mit einem globalen Testschlüssel

  1. Führen Sie den folgenden Befehl aus:

    MakeAppx.exe entschlüsseln/p _ Paketname. AppX/EP unverschlüsselter _ _ Paketname. eappx/KT

  2. Das Eingabe Paket wird mithilfe des globalen Test Schlüssels in das angegebene unverschlüsselte Paket entschlüsselt.

Verbrauch

Das Befehlszeilenargument /p ist immer erforderlich, entweder mit /d, /f oder /EP. Beachten Sie, dass sich /d, /f und /EP gegenseitig ausschließen.

Makeappx Pack [ - ] Optionen /p <output package name> /d*<content directory>*

Makeappx Pack [ - ] Optionen /p <output package name> /f*<mapping file>*

Makeappx entpacken [ - ] Optionen /p <input package name> /d*<output directory>*

Makeappx- [ Bündel ] Optionen /p <output bundle name> /d*<content directory>*

Makeappx- [ Bündel ] Optionen /p <output bundle name> /f*<mapping file>*

Makeappx entflechten [ - ] Optionen /p <input bundle name> /d*<output directory>*

Makeappx- [ Verschlüsselungs ] Optionen /p <input package name> /EP*<output package name>*

Makeappx- [ ] Entschlüsselungen /p <input package name> /EP*<output package name>*

Befehlszeilensyntax

Hier ist die allgemeine Syntax Syntax für die Befehlszeile für makeappx.

Makeappx [ Pack | Entpacken | des Pakets | | | ] entflechten verschlüsseln [ /h /KF /KT /l /o /No /NV /v /PFN /?]

Makeappx verpackt bzw. entpackt die Dateien in einem Paket, bündelt oder entpackt die Pakete in einem Paket oder verschlüsselt oder entschlüsselt das App-Paket oder Paket im angegebenen Eingabe Verzeichnis bzw. in der Zuordnungsdatei. Im folgenden finden Sie eine Liste der Parameter, die für makeappx Pack, makeappx entpacken, makeappx Bundle, makeappx entflechten, makeappx verschlüsseln oder makeappx entschlüsseln gelten.

/l

Diese Option wird für lokalisierte Pakete verwendet. Die Standardüberprüfung wird durch lokalisierte Pakete ausgelöst. Mit dieser Option wird nur diese spezifische Validierung deaktiviert, ohne dass die gesamte Validierung deaktiviert werden muss.

/o

Überschreiben Sie die Ausgabedatei, falls vorhanden. Wenn Sie diese Option oder die Option /No nicht angeben, wird der Benutzer gefragt, ob die Datei überschrieben werden soll.

Sie können diese Option nicht mit /No verwenden.

/no

Verhindert ein Überschreiben der Ausgabedatei, wenn vorhanden. Wenn Sie diese Option oder die Option /o nicht angeben, wird der Benutzer gefragt, ob die Datei überschrieben werden soll.

Sie können diese Option nicht mit /o verwenden.

/nv

Überspringen der semantischen Validierung. Wenn Sie diese Option nicht angeben, führt das Tool eine vollständige Überprüfung des Pakets aus.

/v

Aktivieren Sie die ausführliche Protokollierungs Ausgabe in der Konsole.

/?

Hilfetext anzeigen.

Makeappx Pack , makeappx entpacken , makeappx Bundle, makeappx entflechten, makeappx verschlüsseln und makeappx entschlüsseln sind sich gegenseitig ausschließende Befehle. Hier sind die Befehlszeilenparameter aufgeführt, die speziell für jeden Befehl gelten:

Makeappx-Paket [ h]

Erstellt ein Paket.

/h - Algorithmus

Gibt den Hashalgorithmus an, der beim Erstellen der Blockzuordnung verwendet wird. Im folgenden finden Sie gültige Werte für den- Algorithmus:

SHA256 (Standard)
SHA384
SHA512

Diese Option kann nicht mit dem Entpacken -Befehl verwendet werden.

Makeappx entpacken [ PFN]

Extrahiert alle Dateien im angegebenen Paket in das angegebene Ausgabeverzeichnis. Die Ausgabe hat dieselbe Verzeichnisstruktur wie das Paket.

/pfn

Gibt ein Verzeichnis namens mit dem vollständigen Paketnamen an. Dieses Verzeichnis wird unter dem angegebenen Ausgabe Speicherort erstellt. Diese Option kann nicht mit dem Befehl Pack verwendet werden.

Makeappx-Paket [ Entpacken PFN]

Entpackt alle Pakete in ein Unterverzeichnis unter dem angegebenen Ausgabepfad, benannt nach dem vollständigen Paketnamen. Die Ausgabe hat dieselbe Verzeichnisstruktur wie das Paket mit installiertem Paket.

/pfn

Gibt ein Verzeichnis mit dem Namen des Paket Bündel vollständig an. Dieses Verzeichnis wird unter dem angegebenen Ausgabe Speicherort erstellt. Diese Option kann nicht mit dem Bundle -Befehl verwendet werden.

Makeappx verschlüsseln [ KF, KT]

Erstellt im angegebenen Ausgabe Paket ein verschlüsseltes App-Paket aus dem angegebenen Eingabe-App-Paket.

/KF**

Verschlüsselt das Paket oder Paket mithilfe des Schlüssels aus der angegebenen Schlüsseldatei. Diese Option kann nicht mit KT verwendet werden.

/kt

Verschlüsselt das Paket oder Paket mit dem globalen Testschlüssel. Diese Option kann nicht mit KF verwendet werden.

Makeappx-Entschlüsselung [ KF, KT]

Erstellt ein unverschlüsseltes App-Paket aus dem angegebenen Eingabe-App-Paket im angegebenen Ausgabe Paket.

/KF**

Entschlüsselt das Paket oder Paket mithilfe des Schlüssels aus der angegebenen Schlüsseldatei. Diese Option kann nicht mit KT verwendet werden.

/kt

Entschlüsselt das Paket oder Paket mit dem globalen Testschlüssel. Diese Option kann nicht mit KF verwendet werden.

Durch makeappx ausgeführte Semantik Validierung

Makeappx führt eine eingeschränkte Semantik Überprüfung durch, mit der die häufigsten Bereitstellungs Fehler abgefangen und sichergestellt werden, dass das App-Paket gültig ist.

Diese Überprüfung stellt Folgendes sicher:

  • Alle Dateien, auf die im Paketmanifest verwiesen wird, sind im App-Paket enthalten.
  • Die Anwendung besitzt nicht zwei identische Schlüssel.
  • Eine Anwendung registriert sich nicht für ein unzulässiges Protokoll aus dieser Liste: SMB, File, MS-WWA-Web, MS-WWA.

Diese semantische Validierung ist nicht fertiggestellt, und die von makeappx erstellten Pakete sind nicht garantiert installier Bar.