Skip to content

The Windows App Development 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.

License

Notifications You must be signed in to change notification settings

microsoft/WinAppCli

Repository files navigation

Windows App Development CLI

Important

⚠️ Status: Public Preview - The Windows App Development CLI is experimental and in active development. We'd love your feedback! Share your thoughts by creating an issue.


The Windows App Development 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 Electron, .NET/Win32, CMake, or Python, this CLI gives you access to:

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

Perfect for:

  • Electron/cross-platform developers wanting native Windows features or targeting Windows
  • Developers testing and deploying adding app identity for development or packaging for deployment
  • CI/CD pipelines automating Windows app builds

📦 Installation

WinGet

The easiest way to use the CLI is via WinGet (Windows Package Manager). In Terminal, simply run:

winget install Microsoft.WinAppCLI

Download Release Manually

Or, download the latest build from GitHub Releases:

👉 Download Latest Build

Available Options:

Package Description Use Case
winappcli_[version]_[platform].msix 📦 MSIX Installer Easy to install, automatically added to path, great for general usage
winappcli-[version]-[platform].zip 📦 Standalone Binaries Portable, no install needed - great for CI/CD
microsoft-winappcli-[version].tgz 📚 NPM Package For Node.js/Electron projects

Adding to Path

The easiest way to use the CLI globally is to install it via WinGet or the MSIX installer.

You can also add it manually: Windows Search → Edit the system environment variables → Environment Variables → Path → Edit → New → Add the location (folder) of winapp CLI.

📋 Usage

Once installed (see Installation above), verify the installation by calling the CLI:

winapp --help

or if using Electron/Node.js

npx winapp --help

Commands Overview

Setup Commands:

  • init - Initialize project with Windows SDK and App SDK
  • restore - Restore packages and dependencies
  • update - Update packages and dependencies to latest versions

App Identity & Debugging:

Certificates & Signing:

  • cert - Generate and install development certificates
  • sign - Sign MSIX packages and executables

Development Tools:

Node.js/Electron Specific:

The full CLI usage can be found here: Documentation

🔧 Feedback

We are actively working on improving Node and Python support. These features are experimental and we are aware of several issues with these app types.

🧪 Try the Windows Identity App

This repository also contains an experimental app (GUI) that wraps the CLI and provides an intuitive, drag-and-drop experience. See the docs for more details. Download the app here.

🧾 Samples

This repository will continue to be added with samples. Currently the following samples exist:

  • Electron sample: a default Electron Forge generated application + initialized a winapp project with appxmanifest, assets + native addon + C# addon + generates cert

Support

Need help or have questions about the Windows App Development CLI? Visit our Support Guide for information about our issue templates and triage process.

Contributing

This project welcomes contributions and suggestions. Most contributions require you to agree to a Contributor License Agreement (CLA) declaring that you have the right to, and actually do, grant us the rights to use your contribution. For details, visit Contributor License Agreements.

When you submit a pull request, a CLA bot will automatically determine whether you need to provide a CLA and decorate the PR appropriately (e.g., status check, comment). Simply follow the instructions provided by the bot. You will only need to do this once across all repos using our CLA.

This project has adopted the Microsoft Open Source Code of Conduct. For more information see the Code of Conduct FAQ or contact [email protected] with any additional questions or comments.

To build the CLI:

# Build the CLI and package for npm from the repo root
.\scripts\build-cli.ps1

The binaries and packages will be placed in the artifacts folder

Trademarks

This project may contain trademarks or logos for projects, products, or services. Authorized use of Microsoft trademarks or logos is subject to and must follow Microsoft's Trademark & Brand Guidelines. Use of Microsoft trademarks or logos in modified versions of this project must not cause confusion or imply Microsoft sponsorship. Any use of third-party trademarks or logos are subject to those third-party's policies.

About

The Windows App Development 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.

Topics

Resources

License

Code of conduct

Security policy

Stars

Watchers

Forks

Packages

No packages published

Contributors 9