Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Dieser Leitfaden führt Sie durch das Verpacken einer vorhandenen ausführbaren Befehlszeile als MSIX-Paket für die Verteilung über Windows Paket-Manager (Winget), den Microsoft Store oder die direkte Verteilung.
Voraussetzungen
- Eine vorhandene ausführbare CLI -Datei (
.exe), die Sie packen möchten - Windows 10 Version 1809 oder höher
Schritte
1. Organisieren Ihrer CLI-Anwendung
Platzieren Sie Ihr CLI-Programm und alle Abhängigkeiten in einem eigenen Ordner. Dieser Ordner enthält alle Dateien, die in Ihrem MSIX-Paket enthalten sein sollten.
mkdir MyCliPackage
cd MyCliPackage
# Copy your CLI executable and dependencies here
2. Installieren der winapp CLI
Installieren Sie die winapp CLI über Windows Paket-Manager, oder aktualisieren Sie sie auf die neueste Version, wenn Sie sie bereits haben:
# Install (or update if already installed)
winget install microsoft.winappcli --source winget
3. Generieren Sie die Datei Package.appxmanifest
Generieren Sie ein Basis-Package.appxmanifest und erforderliche Ressourcen für Ihr CLI-Executable.
winapp manifest generate --executable .\yourcli.exe
Mit diesem Befehl wird eine Package.appxmanifest Datei im aktuellen Verzeichnis erstellt, in der Standardwerte aus der ausführbaren Datei ausgefüllt sind.
4. Konfigurieren des Manifests
Bearbeiten Sie die generierte Package.appxmanifest Datei, um Ihr Paket anzupassen. In den folgenden Unterschritten wird erläutert, was geändert werden soll und warum.
4.1 Hinzufügen des erforderlichen Namespaces
Fügen Sie den uap5 Namespace dem Package Element hinzu, wenn er noch nicht vorhanden ist. Dies ist für den Ausführungsalias in Schritt 4.3 erforderlich:
<Package
xmlns="http://schemas.microsoft.com/appx/manifest/foundation/windows10"
...
xmlns:uap="http://schemas.microsoft.com/appx/manifest/uap/windows10"
xmlns:uap5="http://schemas.microsoft.com/appx/manifest/uap/windows10/5"
xmlns:rescap="http://schemas.microsoft.com/appx/manifest/foundation/windows10/restrictedcapabilities"
IgnorableNamespaces="uap uap5 rescap">
4.2 Konfigurieren des Anwendungselements
Fügen Sie <uap:VisualElements> im AppListEntry="none" Element hinzu, um die App aus dem Startmenü auszublenden. CLI-Tools werden über das Terminal aufgerufen, daher benötigen sie keinen Startmenüeintrag:
<uap:VisualElements
DisplayName="YourApp"
Description="My Application"
BackgroundColor="transparent"
Square150x150Logo="Assets\Square150x150Logo.png"
Square44x44Logo="Assets\Square44x44Logo.png"
AppListEntry="none">
</uap:VisualElements>
4.3 Hinzufügen der Ausführungsaliaserweiterung
Fügen Sie einen Ausführungsalias hinzu, damit Benutzer Ihre CLI über ein beliebiges Terminalfenster ausführen können. Fügen Sie dies innerhalb des <Application> Elements hinzu (nach <uap:VisualElements>):
<Extensions>
<uap5:Extension Category="windows.appExecutionAlias">
<uap5:AppExecutionAlias>
<uap5:ExecutionAlias Alias="yourcli.exe" />
</uap5:AppExecutionAlias>
</uap5:Extension>
</Extensions>
Ersetzen Sie yourcli.exe durch den gewünschten Befehlsnamen für Ihre CLI. Sobald ein Benutzer msIX installiert hat, kann er ihre CLI mit diesem Befehl aufrufen.
4.4 Anwendungsmetadaten aktualisieren
Aktualisieren Sie die folgenden Felder so, dass sie Ihrer CLI-Anwendung entsprechen.
Von Bedeutung
Der Wert Publisher in Ihrem Manifest muss mit dem Herausgeber in Ihrem Signaturzertifikat übereinstimmen. Wenn Sie ein Zertifikat später generieren (Schritt 5), verwendet es den Herausgeber aus Ihrem Manifest. Wenn Sie den Herausgeber nach dem Generieren eines Zertifikats ändern, müssen Sie das Zertifikat neu generieren, damit es übereinstimmt.
Identity: Aktualisieren
Name,PublisherundVersion<Identity Name="YourCompany.YourCLI" Publisher="CN=Your Company" Version="1.0.0.0" />Eigenschaften: Anzeigename aktualisieren, Herausgeberanzeigename und Beschreibung
<Properties> <DisplayName>Your CLI Tool</DisplayName> <PublisherDisplayName>Your Company</PublisherDisplayName> <Description>Description of your CLI tool</Description> <Logo>Assets\StoreLogo.png</Logo> </Properties>VisualElements: Aktualisieren von Anzeigenamen und Objektbezügen
<uap:VisualElements DisplayName="Your CLI Tool" Description="Description of your CLI tool" BackgroundColor="transparent" Square150x150Logo="Assets\Square150x150Logo.png" Square44x44Logo="Assets\Square44x44Logo.png"> <uap:DefaultTile Wide310x150Logo="Assets\Wide310x150Logo.png" /> <uap:SplashScreen Image="Assets\SplashScreen.png" /> </uap:VisualElements>
Hinweis: Außerdem sollten Sie einem Assets Ordner im Paketverzeichnis die richtigen Symbolressourcen hinzufügen. Während die App nicht im Startmenü angezeigt wird, sind symbole für die Store-Übermittlung noch erforderlich und können in anderen Kontexten angezeigt werden.
5. (Optional) Generieren eines Entwicklungszertifikats
Für lokale Tests und Verteilungen außerhalb der Microsoft Store müssen Sie Ihr MSIX-Paket mit einem Zertifikat signieren.
Generieren Sie ein Entwicklungszertifikat. Bewahren Sie ihn außerhalb Ihres CLI-Ordners auf, um versehentlich das Einschließen in das Paket zu vermeiden:
# Navigate to a location outside your CLI folder (e.g., your home directory)
cd ~
winapp cert generate
Dadurch wird eine devcert.pfx Datei in Ihrem Startverzeichnis erstellt (z. B. C:\Users\yourname\devcert.pfx).
Um diesem Zertifikat auf Ihrem Entwicklungscomputer zu vertrauen, installieren Sie es (erfordert Administratorrechte):
# Run PowerShell as Administrator
winapp cert install ~\devcert.pfx
6. Packen Sie Ihre CLI
Jetzt können Sie das MSIX-Paket erstellen:
# Navigate back outside of your project folder
# Package with dev certificate (for local testing/distribution)
winapp pack .\path\to\MyCliPackage --cert .\path\to\devcert.pfx
Dadurch wird eine .msix Datei im aktuellen Verzeichnis erstellt.
7. Installieren und Überprüfen
Installieren Sie das MSIX-Paket, um sicherzustellen, dass alles funktioniert:
Add-AppxPackage .\MyCliPackage.msix
Wenn Sie in Schritt 4.3 einen Ausführungsalias hinzugefügt haben, können Sie ihre CLI jetzt über ein beliebiges Terminal ausführen:
yourcli --help
So deinstallieren Sie später:
Get-AppxPackage *YourCLI* | Remove-AppxPackage
Tipps
- Nachdem Sie bereit für die Verteilung sind, können Sie Ihr MSIX mit einem Codesignaturzertifikat von einer Zertifizierungsstelle signieren, damit Ihre Benutzer kein selbstsigniertes Zertifikat installieren müssen.
- Der Microsoft Store signiert das MSIX für Sie, Sie müssen das Paket nicht vor der Übermittlung signieren.
- Möglicherweise müssen Sie mehrere MSIX-Pakete erstellen, eine für jede architektur, die Sie unterstützen (x64, Arm64)
Nächste Schritte
- Distribute via winget: Übermitteln Sie Ihren MSIX an das Windows Paket-Manager Community-Repository
-
Publish to the Microsoft Store: Verwenden Sie
winapp store, um Ihr Paket zu übermitteln. -
Set up CI/CD: Verwenden Sie die GitHub Action
setup-WinAppCli, um das Verpacken in Ihrer Pipeline zu automatisieren.
Windows developer