Generieren von MSIX-Paketkomponenten
In diesem Artikel erfahren Sie, wie Sie MSIX-Paketkomponenten für die Verpackung Ihrer Anwendung mithilfe von Befehlszeilentools generieren können (ohne Verwendung von Visual Studio oder des MSIX-Verpackungstools).
Um Ihre Anwendung manuell zu verpacken, müssen Sie eine Paketmanifestdatei erstellen, Ihre Paketkomponenten hinzufügen und dann das Befehlszeilentool MakeAppx.exe ausführen, um ein MSIX-Paket zu generieren.
Vorbereiten des Verpackens
Falls Sie es noch nicht getan haben, lesen Sie diesen Abschnitt dazu, was Sie vor dem Verpacken Ihrer Anwendung wissen müssen.
Erstellen eines Paketmanifests
Erstellen Sie eine Datei, nennen Sie sie appxmanifest.xml, und fügen Sie diese XML-Datei hinzu.
Es ist eine einfache Vorlage, die die vom Paket benötigten Elemente und Attribute enthält. Wir werden im nächsten Abschnitt die Werte hinzufügen.
<?xml version="1.0" encoding="utf-8"?>
<Package
xmlns="http://schemas.microsoft.com/appx/manifest/foundation/windows10"
xmlns:uap="http://schemas.microsoft.com/appx/manifest/uap/windows10"
xmlns:uap10="http://schemas.microsoft.com/appx/manifest/uap/windows10/10"
xmlns:rescap="http://schemas.microsoft.com/appx/manifest/foundation/windows10/restrictedcapabilities">
<Identity Name="" Version="" Publisher="" ProcessorArchitecture="" />
<Properties>
<DisplayName></DisplayName>
<PublisherDisplayName></PublisherDisplayName>
<Description></Description>
<Logo></Logo>
</Properties>
<Resources>
<Resource Language="" />
</Resources>
<Dependencies>
<TargetDeviceFamily Name="Windows.Desktop" MinVersion="" MaxVersionTested="" />
</Dependencies>
<Capabilities>
<rescap:Capability Name="runFullTrust"/>
</Capabilities>
<Applications>
<Application Id="" Executable=""
uap10:RuntimeBehavior="packagedClassicApp"
uap10:TrustLevel="mediumIL">
<uap:VisualElements DisplayName="" Description="" Square150x150Logo=""
Square44x44Logo="" BackgroundColor="" />
</Application>
</Applications>
</Package>
Hinweis
Wenn das Paket auf Systemen installiert wird, die älter sind als Windows 10, Version 2004 (10.0; Build 19041), müssen Sie das Attribut EntryPoint
anstelle von uap10:RuntimeBehavior
und uap10:TrustLevel
verwenden. Weitere Details und Beispiele finden Sie unter uap10 wurde in Windows 10, Version 2004 (10.0; Build 19041) eingeführt.
Füllen Sie die Paketelemente in der Datei aus.
Geben Sie in diese Vorlage Informationen ein, die das Paket beschreiben.
Identitätsinformationen
Hier ist ein Beispiel für ein Identitäts-Element mit Platzhaltertext für die Attribute. Sie können das Attribut ProcessorArchitecture
auf x64
, x86
, arm
(d. h. 32-Bit-ARM), arm64
oder neutral
festlegen.
<Identity Name="MyCompany.MySuite.MyApp"
Version="1.0.0.0"
Publisher="CN=MyCompany, O=MyCompany, L=MyCity, S=MyState, C=MyCountry"
ProcessorArchitecture="x64">
Hinweis
Wenn Sie Ihren Anwendungsnamen im Microsoft Store reserviert haben, können Sie den Namen und den Herausgeber über das Partner Center abrufen. Wenn Sie Ihre Anwendung auf andere Systeme querladen möchten, können Sie für diese Ihre eigenen Namen bereitstellen, sofern der von Ihnen gewählte Name des Herausgebers mit dem Namen des Zertifikats übereinstimmt, das Sie zum Signieren Ihrer App verwenden.
Eigenschaften
Das Eigenschaften-Element hat drei erforderliche untergeordnete Elemente. Hier ist ein Beispiel für einen Eigenschaften-Knoten mit Platzhaltertext für die Elemente. Der Anzeigename ist der Name Ihrer Anwendung, den Sie im Store reservieren, für Apps, die in den Store hochgeladen werden.
<Properties>
<DisplayName>MyApp</DisplayName>
<PublisherDisplayName>MyCompany</PublisherDisplayName>
<Logo>images\icon.png</Logo>
</Properties>
Ressourcen
Hier ist ein Beispiel für einen Ressourcen-Knoten.
<Resources>
<Resource Language="en-us" />
</Resources>
Abhängigkeiten
Für Desktopanwendungen, für die Sie ein Paket erstellen, legen Sie das Attribut Name
immer auf Windows.Desktop
fest.
<Dependencies>
<TargetDeviceFamily Name="Windows.Desktop" MinVersion="10.0.14316.0" MaxVersionTested="10.0.15063.0" />
</Dependencies>
Funktionen
Für ein Paket, das mindestens eine voll vertrauenswürdige App enthält, müssen Sie die eingeschränkte Funktion runFullTrust
wie unten dargestellt deklarieren. Um vollständige Details und eine Definition für eine voll vertrauenswürdige App zu erhalten, suchen Sie in Deklarationen von App-Funktionen nach Berechtigungsstufe der vollen Vertrauenswürdigkeit.
<Capabilities>
<rescap:Capability Name="runFullTrust"/>
</Capabilities>
Ausfüllen der Elemente auf Anwendungsebene
Geben Sie in diese Vorlage Informationen ein, die Ihre App beschreiben.
Application-Element
Konfigurieren Sie bei Desktop-Apps, für die Sie ein Paket erstellen, das Element Anwendung wie folgt:
<Applications>
<Application Id="MyApp" Executable="MyApp.exe"
uap10:RuntimeBehavior="packagedClassicApp"
uap10:TrustLevel="mediumIL">
</Application>
</Applications>
Hinweis
Wenn das Paket auf Systemen installiert wird, die älter sind als Windows 10, Version 2004 (10.0; Build 19041), müssen Sie das Attribut EntryPoint
anstelle von uap10:RuntimeBehavior
und uap10:TrustLevel
verwenden. Weitere Details und Beispiele finden Sie unter uap10 wurde in Windows 10, Version 2004 (10.0; Build 19041) eingeführt.
Visuelle Elemente
Hier ist ein Beispiel für einen VisualElements-Knoten.
<uap:VisualElements
BackgroundColor="#464646"
DisplayName="My App"
Square150x150Logo="images\icon.png"
Square44x44Logo="images\small_icon.png"
Description="A useful description" />
(Optional) Zielbasierte Ressourcen ohne Anpassung hinzufügen
Zielbasierte Ressourcen sind für Symbole und Kacheln gedacht, die auf der Windows-Taskleiste, in „Aktive Anwendungen“, mit ALT+TAB, in der Andockhilfe und in der unteren rechten Ecke der Startkacheln angezeigt werden. Erhalten Sie hier weitere Informationen.
Rufen Sie die richtigen 44x44-Bilder ab, und kopieren Sie sie dann in den Ordner, der Ihre Bilder (d. h. Ressourcen) enthält.
Erstellen Sie für jedes 44x44-Bild eine Kopie im selben Ordner, und fügen Sie .targetsize-44_altform-unplated an den Dateinamen an. Sie sollten über zwei Kopien jedes Symbols verfügen, die jeweils einen eigenen Namen aufweisen. Nach Abschluss des Prozesses könnte Ihr Ressourcen-Ordner beispielsweise MYAPP_44x44.png und MYAPP_44x44.targetsize-44_altform-unplated.png enthalten.
Hinweis
In diesem Beispiel ist das Symbol mit dem Namen MYAPP_44x44.png das Symbol, auf das Sie im
Square44x44Logo
-Logo-Attribut des MSIX-Pakets verweisen.Legen Sie in der Manifestdatei die
BackgroundColor
für jedes Symbol fest, das Sie transparent machen.Fahren Sie mit dem nächste Unterabschnitt fort, um eine neue Paketressourcendateien zu generieren.
Generieren einer Paketressourcendatei (Package Resource Index, PRI) mit MakePri
Wenn Sie zielbasierte Ressourcen erstellen, wie im vorherigen Abschnitt beschrieben, oder Sie die visuellen Ressourcen Ihrer Anwendung nach der Erstellung des Pakets ändern, müssen Sie eine neue PRI-Datei generieren.
Abhängig vom Installationspfad des SDK befindet sich MakePri.exe an folgenden Speicherorten auf Ihrem Windows-PC:
- x86: C:\Programme (x86)\Windows Kits\10\bin\<buildnummer>\x86\makepri.exe
- x64: C:\Programme (x86)\Windows Kits\10\bin\<buildnummer>\x64\makepri.exe
Es gibt keine ARM-Version dieses Tools.
Öffnen Sie eine Eingabeaufforderung oder ein PowerShell-Fenster.
Ändern Sie das Verzeichnis in den Stammordner des Pakets, und erstellen Sie dann mit dem Befehl
<path>\makepri.exe createconfig /cf priconfig.xml /dq en-US
eine priconfig.xml-Datei.Erstellen Sie die resources.pri-Dateien mit dem Befehl
<path>\makepri.exe new /pr <PHYSICAL_PATH_TO_FOLDER> /cf <PHYSICAL_PATH_TO_FOLDER>\priconfig.xml
.Der Befehl für Ihre Anwendung könnte z. B. wie folgt aussehen:
<path>\makepri.exe new /pr c:\MYAPP /cf c:\MYAPP\priconfig.xml
.Verpacken Sie Ihre Anwendung mithilfe der Anweisungen im nächsten Schritt.
Testen der Anwendung vor dem Verpacken
Sie können die nicht verpackte Anwendung bereitstellen und sie vor dem Verpacken oder Signieren testen. Führen Sie dazu das folgende Cmdlet in einem PowerShell-Fenster aus. Stellen Sie sicher, dass Sie die Manifestdatei Ihrer Anwendung, die sich im Stammverzeichnis Ihres Paketverzeichnisses befindet, zusammen mit allen anderen Paketkomponenten übergeben:
Add-AppxPackage –Register AppxManifest.xml
Sobald dies erledigt ist. Ihre Anwendung sollte auf dem System bereitgestellt werden, und Sie können sie vor dem Verpacken testen, um sicherzustellen, dass alles funktioniert. Ersetzen Sie zum Aktualisieren der EXE- oder DLL-Dateien Ihrer App die vorhandenen Dateien in Ihrem Paket durch die neuen, vergrößern Sie die Versionsnummer in der Datei „AppxManifest.xml“, und führen Sie den oben genannten Befehl erneut aus.
Verpacken der Komponenten in eine MSIX
Der nächste Schritt ist die Verwendung von MakeAppx.exe, um ein MSIX-Paket für Ihre Anwendung zu generieren. „Makeappx.exe“ ist im Windows SDK enthalten, und wenn Sie Visual Studio installiert haben, können Sie ganz einfach über die Developer-Eingabeaufforderung für Visual Studio darauf zugreifen.
Weitere Informationen finden Sie unter Erstellen eines MSIX-Pakets oder -Bündels mit dem Tool „MakeAppx.exe“
Hinweis
Eine verpackte Anwendung wird immer als ein interaktiver Benutzer ausgeführt, und jedes Laufwerk, auf das du die verpackte Anwendung installierst, muss auf das NTFS-Format formatiert sein.