Edit

Share via


Windows App Development CLI (winapp CLI)

Important

The Windows App Development CLI is currently in public preview. Features and commands may change before the final release. Share your feedback by creating an issue.

The Windows App Development CLI (winapp CLI) is a single command-line interface for managing Windows SDKs, packaging, generating app identity, manifests, certificates, and using build tools with any app framework. This tool bridges the gap between cross-platform development and Windows-native capabilities.

Whether you're building with .NET/Win32, CMake, Electron, or Rust, this CLI gives you access to:

  • Modern Windows APIs - Windows App SDK and Windows SDK with automatic setup and code generation
  • Package Identity - Debug and test by adding package identity without full packaging
  • MSIX Packaging - App packaging with signing and Store readiness
  • Developer Tools - Manifests, certificates, assets, and build integration

Why package identity?

Many powerful Windows APIs require your app to have package identity, enabling you to leverage OS components Windows offers that you wouldn't otherwise have access to. With identity, your app gains access to features like notifications, OS integration, and on-device AI.

Examples of what package identity and MSIX packaging unlocks:

Installation

WinGet

The easiest way to install the CLI is via WinGet (Windows Package Manager):

winget install Microsoft.winappcli --source winget

NPM

For Electron projects, install via NPM:

npm install @microsoft/winappcli --save-dev

GitHub Actions / Azure DevOps

For CI/CD pipelines, use the setup-WinAppCli action to automatically install the CLI on your runners/agents.

Manual download

Download the latest build from GitHub Releases.

Verify installation

Once installed, verify the installation by calling the CLI:

winapp --help

Or if using Electron/Node.js:

npx winapp --help

Supported frameworks

winapp CLI works with a variety of app frameworks:

Framework Guide
.NET / WPF / WinForms Get started with .NET
C++ (CMake) Get started with C++
Electron Get started with Electron
Rust Get started with Rust
Tauri Get started with Tauri
Flutter Get started with Flutter

Commands overview

Category Commands
Setup init, restore, update
Packaging pack, create-debug-identity
Manifests manifest generate, manifest update-assets
Certificates & Signing cert generate, cert install, sign
Utilities tool, store, get-winapp-path
Node.js/Electron node create-addon, node add-electron-debug-identity, node clear-electron-debug-identity

For the full CLI reference, see CLI reference.

Open source

winapp CLI is open source. You can find the source code, file issues, and contribute on GitHub.