Windows-App Development CLI (winapp CLI)

Von Bedeutung

Die Windows-App Development CLI befindet sich derzeit in public preview. Features und Befehle können sich vor der endgültigen Version ändern. Teilen Sie Ihr Feedback, indem Sie ein Problem erstellen.

Die Windows-App Development CLI (winapp CLI) ist ein Befehlszeilentool zum Erstellen Windows-Apps mit dem von Ihnen ausgewählten Framework. Es funktioniert im Terminal, in dem Editor, den Sie bevorzugen, oder mit einem KI-Codierungs-Agenten.

  • WinUI-Apps: Erstellen, Ausführen, Debuggen, Testen und Verpacken von WinUI-Apps, ohne Visual Studio zu öffnen.
  • Plattformübergreifende und andere Frameworks: Bringen Sie Windows Features in Ihre vorhandene Electron-, Flutter-, Tauri-, Rust-, .NET- oder C++-App ein, ohne Frameworks zu ändern. winapp CLI richtet das Windows App SDK und Windows SDK ein, verleiht Ihrer App eine Paketidentität, damit Sie APIs wie Benachrichtigungen und KI auf dem Gerät aufrufen können, und verpackt sie als MSIX für den Microsoft Store oder Ihre eigene Verteilung.

Wichtige Vorteile der winapp CLI

Ein Eingabeaufforderungssymbol auf einer angehobenen Kachel über einer blauen Pixelwelle

WinUI-Apps im Terminal erstellen und ausführen
winapp new erstellt eine WinUI-App aus den offiziellen Vorlagen, einschließlich der Startvorlagen „Leer“, „NavigationView“, „TabView“ und „MVVM“. winapp runerstellt das Projekt, installiert die passende Windows-App Runtime und startet die App, unabhängig davon, ob sie paketiert oder nicht paketiert wird.
Erstellen Sie Ihre erste WinUI-App

Ein Bug-Symbol auf einer erhöhten Kachel über einem diagonalen Band mit blauen Pixeln

Debuggen mit Paketidentität und Absturzdiagnose
Führen Sie Ihre App mit Paketidentität aus, sodass Sie Benachrichtigungen, On-Device-KI und andere APIs testen können, die Identität erfordern. Fügen Sie --debug-output hinzu, um Debugmeldungen und Absturzabbilder zu erfassen. Für WinUI-Abstürze decodiert winapp stowed exceptions, um Sie auf den XAML-Ereignishandler hinzuweisen, der fehlgeschlagen ist.
Debuggen mit Paketidentität

Eine Chatblase mit Funkeln-Symbol auf einer erhöhten Kachel über einer blauen Pixelwelle

KI-Coding-Agents auf realem WinUI-Code basieren lassen
winapp find-uigibt Arbeits-XAML und C# aus dem WinUI 3-Katalog und dem Windows Community Toolkit zurück. winapp find-api überprüft die Windows-Runtime APIs, auf die Ihr Projekt verweist. Agents verwenden sie, um Code aus echten Beispielen und Metadaten zu generieren, anstatt zu raten.
winapp CLI mit KI-Agenten verwenden

Ein Zeiger- und Touchsymbol auf einer erhöhten Kachel über einem diagonalen Band mit blauen Pixeln

Automatisieren und testen Sie die Benutzeroberfläche Ihrer App
winapp uiüberprüft und interagiert mit ausgeführten Apps über Benutzeroberflächenautomatisierung und erfasst Screenshots und Aufzeichnungen. Führen Sie Ihre App in Windows Sandbox aus, um sie in einer sauberen Umgebung zu testen.
Benutzeroberflächenautomatisierung

Ein Paketsymbol auf einer angehobenen Kachel über einer blauen Pixelwelle

Packen, Signieren und Versenden
winapp pack erstellt Ihr Projekt, packt es als MSIX und signiert es in einem Schritt. Generieren Sie Entwicklungszertifikate lokal, signieren Sie Releasebuilds mit Azure Trusted Signing, und installieren Sie winapp CLI auf GitHub Actions oder Azure DevOps Läufern.
Packen Ihrer App

Ein Puzzleteilsymbol auf einer erhöhten Kachel über einem diagonalen Band mit blauen Pixeln

Bereitstellen von Windows-Features für ein beliebiges Framework
Fügen Sie das Windows SDK und Windows App SDK, Paketidentität und MSIX-Paketierung zu Apps hinzu, die mit .NET, C++, Electron, Flutter, Rust oder Tauri erstellt wurden, ohne Ihr Buildsystem zu ändern.
Unterstützte Frameworks anzeigen

Erste Schritte mit WinUI

Nachdem Sie winapp CLI und das .NET SDK installiert haben, erstellen und führen Sie eine WinUI-App aus:

winapp new --name MyWinUIApp --template winui-navview --use-defaults
cd MyWinUIApp
winapp run

Wenn Sie bereit sind, ein Paket lokal zu testen, generieren Sie ein Entwicklungszertifikat, und erstellen Sie ein signiertes MSIX-Paket:

winapp cert generate --manifest ./Package.appxmanifest
winapp pack ./MyWinUIApp.csproj -c Release --cert ./devcert.pfx

Das Entwicklungszertifikat verwendet ein Standardkennwort und ist nur für lokale Tests vorgesehen. Bevor Sie Ihre App verteilen, signieren Sie sie mit einem vertrauenswürdigen Zertifikat, z. B. mit winapp az-sign. Weitere Informationen finden Sie unter Sicherheit.

Eine schrittweise exemplarische Vorgehensweise, die Setup und die erste Änderung der Benutzeroberfläche enthält, finden Sie unter Erstellen Ihrer ersten WinUI-App. Führen Sie winapp new --list aus, um alle verfügbaren Vorlagen anzuzeigen. Den vollständigen Workflow, einschließlich Debugging, Benutzeroberflächenautomatisierung und Verpackung, finden Sie unter Verwenden der winapp CLI mit WinUI.

Installation

WinGet

Die einfachste Möglichkeit, die CLI zu installieren, ist über WinGet (Windows Paket-Manager):

winget install Microsoft.winappcli --source winget

Wenn Sie das WinGet PowerShell-Modul verwenden, führen Sie stattdessen aus Install-WinGetPackage Microsoft.winappcli .

NPM

Für Electron-Projekte installieren Sie über NPM:

npm install @microsoft/winappcli --save-dev

GitHub Actions/Azure DevOps

Verwenden Sie für CI/CD-Pipelines die Aktion setup-WinAppCli, um das CLI automatisch auf Ihren Runners oder Agents zu installieren.

Manueller Download

Laden Sie den neuesten Build von GitHub Releases herunter.

Überprüfen der Installation

Überprüfen Sie die Installation nach der Installation, indem Sie die CLI aufrufen:

winapp --help

Oder wenn Sie Electron/Node.jsverwenden:

npx winapp --help

Verwenden der winapp-CLI mit KI-Agents

winapp CLI wurde entwickelt, um gut mit KI-Codierungs-Agents zu arbeiten. Befehle wie find-ui und find-api geben mit --json maschinenlesbare Ausgabe zurück, sodass ein Agent echte WinUI-Beispiele und Windows-Runtime-APIs nachschlagen kann, bevor er Code schreibt.

Installieren Sie das Winapp-Plug-In, um Ihrem Agenten Fähigkeiten für den winapp-CLI-Workflow zu verleihen:

# GitHub Copilot CLI
copilot plugin install microsoft/WinAppCli

# Claude Code
claude plugin marketplace add microsoft/WinAppCli
claude plugin install winappcli@winappcli

Wenn Sie in Visual Studio Code arbeiten, führt die WinApp VS Code-Erweiterung winapp CLI-Befehle aus dem Editor aus und startet Ihre App mit Paketidentität, wenn Sie F5 drücken. Installieren Sie es aus dem Visual Studio Marketplace.

Unterstützte Frameworks

winapp CLI funktioniert mit WinUI und anderen App-Frameworks:

Rahmenwerk Guide
WinUI Erste Schritte mit WinUI
.NET / WPF / WinForms Erste Schritte mit .NET
.NET MAUI Erste Schritte mit .NET MAUI
C++ (CMake) Erste Schritte mit C++
Elektron Beginnen Sie mit Electron
Rust Beginnen Sie mit Rust
Tauri Erste Schritte mit Tauri
Flutter Loslegen mit Flutter

Zusätzliche Anleitungen

  • Packen einer EXE/CLI: Schritt-für-Schritt-Anleitung zum Verpacken einer vorhandenen EXE/CLI als MSIX
  • Spärliches Packen: Versehen Sie eine unverpackte App mit einer Paketidentität mit einer reinen Identitäts-MSIX (spärlich) und externen Inhalten.
  • Shell-Vervollständigung: Aktivieren der Tab-Vervollständigung für Befehle, Optionen und Werte in PowerShell, bash, zsh und fish
  • Sicherheitsleitfaden: welche Änderungen Entwicklungszertifikate und der Entwicklermodus auf Ihrem Computer vornehmen, wie mit devcert.pfx umzugehen ist und wie Sie für die Produktion signieren

Übersicht über Befehle

Kategorie Befehle
Erstellen und einrichten new, init, restore, update
Ausführen von & debug run, create-debug-identity, embed-identity, unregister
Verpackung packen
Manifeste Manifest generieren, Manifest-Assets aktualisieren, Manifest Alias hinzufügen
Zertifikate und Signatur cert generate, cert install, sign, az-sign, create-external-catalog
Codesuche für Agents find-ui, find-api
Benutzeroberflächenautomatisierung und Sandbox ui, Ziel
Utilities tool, store, get-winapp-path, complete
Node.js/Electron node create-addon, node generate-bindings, node add-electron-debug-identity, node clear-electron-debug-identity

Die vollständige CLI-Referenz finden Sie in der CLI-Referenz.

Beispiele

Der Beispielordner auf GitHub verfügt über ein ausführbares Projekt für jedes unterstützte Framework:

Beispiel Description
WinUI-App Verpackte WinUI-App wird mit winapp run registriert und gestartet
Ungepackte WinUI-App Nicht paketierte WinUI-App gestartet mit winapp run
WinUI-Lösung Multiprojektlösung (App und Testprojekt), die zeigt, wie winapp run das App-Projekt auswählt
C++-WinUI-App In C++ erstelltes WinUI-Fenster mit CMake, ohne XAML oder MSBuild
WPF-App WPF Desktop-App
.NET MAUI-App .NET MAUI Windows Projekt verpackt und mit winapp CLI signiert
C++-App Native C++-Win32-App, die mit CMake erstellt wurde
Elektron Electron Forge App mit einem manifest, Assets und nativen C++- und C#-Add-ons
Rust-App Rust-App, die Windows-APIs aufruft
Tauri-App Tauri-App mit einem Rust-Back-End
Flutter-App Flutter-Desktop-App mit Paketidentität und dem Windows App SDK
Sparse-App WPF-App mit Sparse-Paketierung (MSIX nur mit Identität) und einem Installationsprogramm

Warum Die Paketidentität?

Viele Windows-APIs erfordern, dass Ihre App über eine Paketidentität verfügt. Mit der Identität gewinnt Ihre App access zu Features wie Benachrichtigungen, Betriebssystemintegration und KI auf dem Gerät. WinUI-App-Vorlagen enthalten ein Paketmanifest, sodass winapp run ihnen standardmäßig eine Identität verleiht. Eine vollständige Übersicht, was die Paketidentität freischaltet, und Hilfe bei der Auswahl des richtigen Verpackungsmodells finden Sie unter Packaging overview.

Open Source

winapp CLI ist Open Source. Sie finden den Quellcode, Dateiprobleme und tragen zu GitHub bei. Hilfe finden Sie unter Support.