Skip to content

Releases: microsoft/winappCli

Release v0.3.1

01 May 19:10
c8ada4a

Choose a tag to compare

Version: 0.3.1
Commit: c8ada4a403c43b96780b87abc454cba51f649c60

Breaking Changes

  • winapp ui --json envelope reshape (#511) — JSON output shapes are not backward compatible. Update any scripts/tools parsing these outputs:
    • ui inspect --json — elements are now nested under { depth, interactive, hideDisabled, hideOffscreen, windows: [{ hwnd, title, className, elementCount, elements: [{ ..., children: [...] }] }] } (was a flat { elements: [...] } list). Per-element id, depth, parentSelector, and windowHandle fields have been removed — selector is the public handle.
    • ui inspect --ancestors --json — ancestors are now nested via a Depth=i parent → child chain (previously emitted as sibling roots).
    • ui get-focused --json — emits a { hasFocus: false } or { hasFocus: true, element: {...} } envelope (was a bare null when nothing was focused).
    • ui search --json / ui wait-for --json — internal id, parentSelector, and windowHandle fields are scrubbed from results (top-level and nested invokableAncestor).

New Features

  • winapp run support for -- passthrough arguments (#506) — Pass application arguments directly using -- without escaping them in quotes. For example, instead of:
    winapp run . --args "--my-flag value"
    you can now write:
    winapp run . -- --my-flag value
  • Plain progress streaming in CI and AI-agent terminals (#507) — Auto-detects environments that can't honour cursor control (GitHub Actions, Azure DevOps, Copilot CLI, Claude Code, etc.) and falls back to append-only line-buffered progress output. Real interactive terminals continue to render the animated spinner tree; --quiet / --json remain silent. No new flags or env vars.
  • ui inspect --interactive ancestor surfacing (#511) — Non-interactive ancestors are collapsed and surfaced as ancestorPath on surviving descendants; +more markers indicate truncated subtrees in both text and JSON modes.

Bug Fixes

  • winapp run no longer picks createdump.exe (#496) — Fixed an issue where winapp run could incorrectly select createdump.exe over the intended application executable when multiple .exe files existed. Detection logic is now shared with winapp package.
  • winapp register: accurate error for package-already-exists conflicts (#512) — HRESULT 0x80073CFB was being misreported as a Developer Mode error. The Developer Mode mapping is now correctly scoped to 0x800704EC, and conflicts emit an actionable hint with the real package identity (parsed from the manifest).
  • winapp unregister: safer per-package unregistration (#512) — Fixed two data-loss bugs: a per-package safety check that could be bypassed when multiple packages were classified together, and sibling-directory misclassification caused by a prefix StartsWith containment check. Rewritten as a two-pass classify-then-remove loop with segment-aware path containment.
  • Status output: real exception messages instead of (null) (#512) — Failed operations now surface ex.Message; falls back to "Operation failed without an error message." when no message is available. Stack traces are appended only at Debug log level.
  • NuGet version range parsing on cache-warm runs (#512) — ParseMinimumVersion no longer silently breaks when brackets are pre-stripped (which only manifested after git clean of .winapp while the global NuGet cache still had the package).
  • WinAppSDK 2.0.1 forward compatibility (#512) — Supports the new major-only framework package naming (Microsoft.WindowsAppRuntime.2 instead of Microsoft.WindowsAppRuntime.2.0).

Compliance

  • NuGet package metadata (#489) — Microsoft.Windows.SDK.BuildTools.WinApp now includes a compliant <Copyright> element required by Microsoft NuGet policy.

Installation Options

MSIX Installer (Recommended)

  1. Download winappcli_x64.msix for x64 or winappcli_arm64.msix for ARM64
  2. Double-click to install
  3. Automatically added to PATH

Standalone CLI Binaries

  1. Download winappcli-x64.zip for x64 or winappcli-arm64.zip for ARM64
  2. Extract to your desired location
  3. Add to PATH or run directly: winapp.exe

NPM Package (for Electron or NodeJS)

npm install microsoft-winappcli.tgz

What's Included

  • MSIX installer packages (x64 and ARM64)
  • Standalone CLI binaries (x64 and ARM64)
  • NPM package for NodeJS/Electron integration

Release v0.3.0

22 Apr 06:19

Choose a tag to compare

Version: 0.3.0
Commit: f3ce442ddd1ea2aea3ada40a0d7a5a2a411cfe00

New Features

  • winapp run command (#341) — Introduces the winapp run command allowing developers to pack a folder and run their application as a packaged app, streamlining the process of launching packaged applications. Usage example:
    winapp run .\bin\Debug\net10.0-windows10.0.26100.0\win-x64 --manifest .\appxmanifest.xml
  • UI automation with winapp ui (#380) — Adds a new command group for UI automation, enabling programmatic interaction with UI elements in Windows applications using Microsoft UI Automation (UIA). Key commands include ui list-windows, ui inspect, and ui click.

Bug Fixes

  • Fallback in get-winapp-path (#475) — Fixes an issue where the command would fail if the local cache was missing, now gracefully falling back to the global cache.

Installation Options

MSIX Installer (Recommended)

  1. Download winappcli_x64.msix for x64 or winappcli_arm64.msix for ARM64
  2. Double-click to install
  3. Automatically added to PATH

Standalone CLI Binaries

  1. Download winappcli-x64.zip for x64 or winappcli-arm64.zip for ARM64
  2. Extract to your desired location
  3. Add to PATH or run directly: winapp.exe

NPM Package (for Electron or NodeJS)

npm install microsoft-winappcli.tgz

What's Included

  • MSIX installer packages (x64 and ARM64)
  • Standalone CLI binaries (x64 and ARM64)
  • NPM package for NodeJS/Electron integration

Release v0.2.1

30 Mar 18:13

Choose a tag to compare

Version: 0.2.1
Commit: 765f8f5de86369dd154bec8af070d848133029c1

New Features

  • Auto-generate npm Commands and Documentation (#302) — All winapp CLI commands are now exposed as typed JS/TS functions in the npm package. This enhancement allows seamless importing and usage of commands in projects with auto-generated exports to stay up-to-date.
    import { init, packageApp, certGenerate } from '@microsoft/winappcli';
  • New cert info Command (#305) — A new subcommand that displays detailed information about a PFX certificate, including subject, issuer, and validity, facilitating certificate verification before signing.
    winapp cert info ./devcert.pfx --password password
  • Support SVG for Asset Generation (#326) — The manifest update-assets command now supports SVG files, converting them to bitmap images for asset generation, expanding the capability to include vector graphics.
    winapp manifest update-assets .\image.svg
  • Add --export-cer Flag and --json Output for Cert Commands (#305) — Introduced a flag to export a public key as a .cer file and a JSON output format for cert generate and cert info commands enhances programmability and ease of integration with other tools.
  • Automatic WinRT Component Discovery (#334) — The winapp CLI can now automatically discover and register third-party WinRT components based on .winmd files during packaging, improving the packaging experience for developers using external libraries.

Bug Fixes

  • Packaging Command Bug Fixes (#344) — Addressed several issues in the packaging command, including preventing the overwriting of existing PRI resources and checking executable architecture, ensuring smoother packaging workflows.
  • Warning for .pfx Files in Input Folder (#338) — A warning is now printed when a .pfx file is found in the input folder during packaging, improving user awareness without blocking the MSIX generation process.

Documentation

  • Documentation Improvements (#333) — The introduction of a Copilot plugin enables improved reference management through skill-based documentation, streamlining user education and resource access.

Installation Options

MSIX Installer (Recommended)

  1. Download winappcli_x64.msix for x64 or winappcli_arm64.msix for ARM64
  2. Double-click to install
  3. Automatically added to PATH

Standalone CLI Binaries

  1. Download winappcli-x64.zip for x64 or winappcli-arm64.zip for ARM64
  2. Extract to your desired location
  3. Add to PATH or run directly: winapp.exe

NPM Package (for Electron or NodeJS)

npm install microsoft-winappcli.tgz

What's Included

  • MSIX installer packages (x64 and ARM64)
  • Standalone CLI binaries (x64 and ARM64)
  • NPM package for NodeJS/Electron integration

Release v0.2.0

27 Feb 20:25

Choose a tag to compare

Version: 0.2.0
Commit: a4930bfb2ebf3c9a76678b9b9e20044b3219f238

New Features

  • Support for Qualified Names in Appxmanifest (#320) — Allows qualified names in the Appxmanifest file, enhancing flexibility in defining app identities.
  • New winapp create-external-catalog Command (#312) — Introduces a new command to create an external catalog, streamlining asset management for developers.
  • Enable Running Microsoft Store Developer CLI Commands via a New 'store' Subcommand (#214) — Adds a store subcommand, enabling integrated commands for Microsoft Store development directly from winapp CLI.
  • Support for Manifest Placeholders (#294) — Adds the ability to use placeholders in manifests, improving the handling of dynamic content across applications.
  • Add .NET Project Support (#285) — Expands winapp CLI capabilities to support .NET projects, broadening the range of applications developers can manage.

Breaking Changes

  • winapp init no longer generates a certificate: init used to create a dev signing cert automatically. That’s been removed. Run winapp cert generate explicitly when you need to sign with a dev certificate. The --no-cert flag is also gone since there’s nothing to skip. If your scripts relied on init producing a cert, add a winapp cert generate step.
  • winapp now uses the NuGet global cache for packages: when downloading NuGet packages, winapp used to store them in the %userprofile%/.winapp/packages folder which caused duplicate packages to be downloaded if the user already had those packages in their NuGet cache. With this release, winapp uses the NuGet global cache for all packages. If your code depends on the packages being in the global .winapp folder, you will need to update it.
  • .NET projects skip winapp.yaml: When winapp init detects a .csproj, it configures NuGet packages in the project file directly instead of creating a winapp.yaml. This is the right behavior for .NET, but if you had a hybrid workflow, check the .NET guide for details.

Bug Fixes

  • Fix Signing Success Message (#316) — Corrects the messaging related to successful signing, ensuring clarity for users post-signing.
  • Filter Unlisted NuGet Versions (#323) — Fixes an issue where unlisted NuGet versions could be included, providing a more accurate package management experience.
  • Fix Regression in RunCommandAsync (#310) — Addresses a regression affecting command execution, restoring expected behavior.
  • Simplify Error Messages + Remove Repetition (#300) — Improves user experience by making error messages clearer and more concise.

Documentation

  • Updated Short Description for All Commands (#295) — Adds brief command descriptions across the CLI for improved usability and understanding.

Infrastructure

  • Bumped dependencies: minimatch (#330), webpack from 5.103.0 to 5.105.1 (#288), lodash from 4.17.21 to 4.17.23 in /samples/electron (#255), bytes from 1.11.0 to 1.11.1 in /samples/tauri-app/src-tauri (#272), time from 0.3.44 to 0.3.47 in /samples/tauri-app/src-tauri (#276).

Installation Options

MSIX Installer (Recommended)

  1. Download winappcli_x64.msix for x64 or winappcli_arm64.msix for ARM64
  2. Double-click to install
  3. Automatically added to PATH

Standalone CLI Binaries

  1. Download winappcli-x64.zip for x64 or winappcli-arm64.zip for ARM64
  2. Extract to your desired location
  3. Add to PATH or run directly: winapp.exe

NPM Package (for Electron or NodeJS)

npm install microsoft-winappcli.tgz

What's Included

  • MSIX installer packages (x64 and ARM64)
  • Standalone CLI binaries (x64 and ARM64)
  • NPM package for NodeJS/Electron integration

Release v0.1.10

22 Jan 02:42

Choose a tag to compare

🚀 Automated Release Build

Version: 0.1.10
Commit: 5af020978f5d9c2db8fdafa27c9eefc190446468

Installation Options

📦 MSIX Installer (Recommended)

  1. Download winappcli_x64.msix for x64 or winappcli_arm64.msix for ARM64
  2. Double-click to install
  3. Automatically added to PATH

📦 Standalone CLI Binaries

  1. Download winappcli-x64.zip for x64 or winappcli-arm64.zip for ARM64
  2. Extract to your desired location
  3. Add to PATH or run directly: winapp.exe

📚 NPM Package (for Electron or NodeJS)

npm install microsoft-winappcli.tgz

What's Included

  • ✅ MSIX installer packages (x64 and ARM64)
  • ✅ Standalone CLI binaries (x64 and ARM64)
  • ✅ NPM package for NodeJS/Electron integration

Release v0.1.9

21 Jan 00:21
e54be23

Choose a tag to compare

Release v0.1.9 Pre-release
Pre-release

🚀 Automated Release Build

Version: 0.1.9
Commit: e54be238ec393c8f3172bedcd897ab3aec536d87

Installation Options

📦 MSIX Installer (Recommended)

  1. Download winappcli_x64.msix for x64 or winappcli_arm64.msix for ARM64
  2. Double-click to install
  3. Automatically added to PATH

📦 Standalone CLI Binaries

  1. Download winappcli-x64.zip for x64 or winappcli-arm64.zip for ARM64
  2. Extract to your desired location
  3. Add to PATH or run directly: winapp.exe

📚 NPM Package (for Electron or NodeJS)

npm install microsoft-winappcli.tgz

What's Included

  • ✅ MSIX installer packages (x64 and ARM64)
  • ✅ Standalone CLI binaries (x64 and ARM64)
  • ✅ NPM package for NodeJS/Electron integration

Release v0.1.8

17 Dec 18:31
c9b6cff

Choose a tag to compare

🚀 Automated Release Build

Version: 0.1.8
Commit: c9b6cffdfe44f77c40fdf97b6c9eb0b50a6a626a

Installation Options

📦 MSIX Installer (Recommended)

  1. Download winappcli_x64.msix for x64 or winappcli_arm64.msix for ARM64
  2. Double-click to install
  3. Automatically added to PATH

📦 Standalone CLI Binaries

  1. Download winappcli-x64.zip for x64 or winappcli-arm64.zip for ARM64
  2. Extract to your desired location
  3. Add to PATH or run directly: winapp.exe

📚 NPM Package (for Electron or NodeJS)

npm install microsoft-winappcli.tgz

What's Included

  • ✅ MSIX installer packages (x64 and ARM64)
  • ✅ Standalone CLI binaries (x64 and ARM64)
  • ✅ NPM package for NodeJS/Electron integration

Release v0.1.7

21 Nov 21:07
30c59bb

Choose a tag to compare

Release v0.1.7 Pre-release
Pre-release

🚀 Automated Release Build

Version: 0.1.7
Commit: 30c59bbb09967fd0b3cf2f03adc2c4daee874603

Installation Options

📦 MSIX Installer (Recommended)

  1. Download winappcli_0.1.7.0_x64.msix for x64 or winappcli_0.1.7.0_arm64.msix for ARM64
  2. Double-click to install
  3. Automatically added to PATH

📦 Standalone CLI Binaries

  1. Download winappcli-0.1.7-x64.zip for x64 or winappcli-0.1.7-arm64.zip for ARM64
  2. Extract to your desired location
  3. Add to PATH or run directly: winapp.exe

📚 NPM Package (for Electron or NodeJS)

npm install microsoft-winappcli-0.1.7.tgz

What's Included

  • ✅ MSIX installer packages (x64 and ARM64)
  • ✅ Standalone CLI binaries (x64 and ARM64)
  • ✅ NPM package for NodeJS/Electron integration

Release v0.1.6

21 Nov 01:47

Choose a tag to compare

Release v0.1.6 Pre-release
Pre-release

🚀 Automated Release Build

Version: 0.1.6
Commit: aad194df160e4539665c2fbe2538ac8c60696a9a

Installation Options

📦 MSIX Installer (Recommended)

  1. Download winappcli_0.1.6.0_x64.msix for x64 or winappcli_0.1.6.0_arm64.msix for ARM64
  2. Double-click to install
  3. Automatically added to PATH

📦 Standalone CLI Binaries

  1. Download winappcli-0.1.6-x64.zip for x64 or winappcli-0.1.6-arm64.zip for ARM64
  2. Extract to your desired location
  3. Add to PATH or run directly: winapp.exe

📚 NPM Package (for Electron or NodeJS)

npm install microsoft-winappcli-0.1.6.tgz

What's Included

  • ✅ MSIX installer packages (x64 and ARM64)
  • ✅ Standalone CLI binaries (x64 and ARM64)
  • ✅ NPM package for NodeJS/Electron integration

Release v0.1.5

15 Nov 17:20
dbc8442

Choose a tag to compare

Release v0.1.5 Pre-release
Pre-release

🚀 Automated Release Build

Version: 0.1.5
Commit: dbc8442192977f7676c2a8f52f58352b04572026

Installation Options

📦 MSIX Installer (Recommended)

  1. Download winappcli_0.1.5.0_x64.msix for x64 or winappcli_0.1.5.0_arm64.msix for ARM64
  2. Double-click to install
  3. Automatically added to PATH

📦 Standalone CLI Binaries

  1. Download winappcli-0.1.5-x64.zip for x64 or winappcli-0.1.5-arm64.zip for ARM64
  2. Extract to your desired location
  3. Add to PATH or run directly: winapp.exe

📚 NPM Package (for Electron or NodeJS)

npm install microsoft-winappcli-0.1.5.tgz

What's Included

  • ✅ MSIX installer packages (x64 and ARM64)
  • ✅ Standalone CLI binaries (x64 and ARM64)
  • ✅ NPM package for NodeJS/Electron integration