{"id":1181,"date":"2026-06-11T10:16:12","date_gmt":"2026-06-11T17:16:12","guid":{"rendered":"https:\/\/devblogs.microsoft.com\/ifdef-windows\/?p=1181"},"modified":"2026-06-11T10:16:12","modified_gmt":"2026-06-11T17:16:12","slug":"windows-app-development-cli-v0-3-2-bundling-support-smarter-initialization-and-more","status":"publish","type":"post","link":"https:\/\/devblogs.microsoft.com\/ifdef-windows\/windows-app-development-cli-v0-3-2-bundling-support-smarter-initialization-and-more\/","title":{"rendered":"Windows App Development CLI v0.3.2 \u2014 bundling support, smarter initialization, and more"},"content":{"rendered":"<p><a href=\"https:\/\/devblogs.microsoft.com\/ifdef-windows\/wp-content\/uploads\/sites\/61\/2026\/06\/blog-hero-rounded.webp\"><img decoding=\"async\" class=\"alignnone wp-image-1182\" src=\"https:\/\/devblogs.microsoft.com\/ifdef-windows\/wp-content\/uploads\/sites\/61\/2026\/06\/blog-hero-rounded-300x192.webp\" alt=\"blog hero rounded image\" width=\"863\" height=\"552\" srcset=\"https:\/\/devblogs.microsoft.com\/ifdef-windows\/wp-content\/uploads\/sites\/61\/2026\/06\/blog-hero-rounded-300x192.webp 300w, https:\/\/devblogs.microsoft.com\/ifdef-windows\/wp-content\/uploads\/sites\/61\/2026\/06\/blog-hero-rounded-1024x655.webp 1024w, https:\/\/devblogs.microsoft.com\/ifdef-windows\/wp-content\/uploads\/sites\/61\/2026\/06\/blog-hero-rounded-768x491.webp 768w, https:\/\/devblogs.microsoft.com\/ifdef-windows\/wp-content\/uploads\/sites\/61\/2026\/06\/blog-hero-rounded.webp 1231w\" sizes=\"(max-width: 863px) 100vw, 863px\" \/><\/a><\/p>\n<p>Windows App Development CLI v0.3.2 is here! This release brings MSIX bundle support for multi-architecture packaging, a smarter <code class=\"language-default\">winapp init<\/code> experience that auto-detects your projects, higher quality UI screenshots, and a handful of reliability fixes across the board. Get the update by running <code class=\"language-default\">winget install Microsoft.WinAppCLI<\/code> or <a href=\"https:\/\/github.com\/microsoft\/winappCli\">check the repo for other install options<\/a>.<\/p>\n<p><div  class=\"d-flex justify-content-left\"><a class=\"cta_button_link btn-primary mb-24\" href=\"https:\/\/github.com\/microsoft\/winappCli\" target=\"_blank\">Get started with the Windows App Development CLI<\/a><\/div><\/p>\n<p>Let&#8217;s take a look at what&#8217;s new.<\/p>\n<h2>\ud83d\udce6 MSIX Bundle Support<\/h2>\n<div>\n<p>The <code class=\"language-default\">pack<\/code> command now supports creating MSIX bundles \u2014 multi-architecture packages that combine x64 and ARM64 builds into a single <em>.msixbundle<\/em> file. This is the format the Microsoft Store expects for multi-arch submissions, and it&#8217;s now a single command away.<\/p>\n<\/div>\n<div>\n<pre class=\"prettyprint language-default\"><code class=\"language-default\"># Build for both architectures\r\ndotnet build -c Release -r win-x64 -o publish\/x64\r\ndotnet build -c Release -r win-arm64 -o publish\/arm64\r\n\r\n# Bundle them together\r\nwinapp pack publish\/x64 publish\/arm6<\/code><\/pre>\n<p>That&#8217;s it. WinApp CLI detects the architectures from each folder, packages them individually, and wraps them into a bundle. The output is a ready-to-upload <em>.msixbundle<\/em> \u2014 unsigned for Store submissions (where Microsoft signs on your behalf) or ready for <code class=\"language-default\">winapp sign<\/code> if you&#8217;re sideloading.<\/p>\n<\/div>\n<p><a href=\"https:\/\/devblogs.microsoft.com\/ifdef-windows\/wp-content\/uploads\/sites\/61\/2026\/06\/Screenshot-2026-06-05-151910.webp\"><img decoding=\"async\" class=\"wp-image-1185 aligncenter\" src=\"https:\/\/devblogs.microsoft.com\/ifdef-windows\/wp-content\/uploads\/sites\/61\/2026\/06\/Screenshot-2026-06-05-151910-300x195.webp\" alt=\"Bundling support output\" width=\"822\" height=\"534\" srcset=\"https:\/\/devblogs.microsoft.com\/ifdef-windows\/wp-content\/uploads\/sites\/61\/2026\/06\/Screenshot-2026-06-05-151910-300x195.webp 300w, https:\/\/devblogs.microsoft.com\/ifdef-windows\/wp-content\/uploads\/sites\/61\/2026\/06\/Screenshot-2026-06-05-151910-1024x666.webp 1024w, https:\/\/devblogs.microsoft.com\/ifdef-windows\/wp-content\/uploads\/sites\/61\/2026\/06\/Screenshot-2026-06-05-151910-768x499.webp 768w, https:\/\/devblogs.microsoft.com\/ifdef-windows\/wp-content\/uploads\/sites\/61\/2026\/06\/Screenshot-2026-06-05-151910.webp 1381w\" sizes=\"(max-width: 822px) 100vw, 822px\" \/><\/a><\/p>\n<h2>\ud83e\udde0 Smarter Initialization<\/h2>\n<p>The <code class=\"language-default\">init<\/code> command got a significant upgrade in how it discovers and configures projects. Run it in a directory with multiple project types and it now detects compatible projects and presents a clean selection menu:<\/p>\n<p><a href=\"https:\/\/devblogs.microsoft.com\/ifdef-windows\/wp-content\/uploads\/sites\/61\/2026\/06\/Screenshot-2026-06-05-150803-e1781038514908.webp\"><img decoding=\"async\" class=\" wp-image-1186 aligncenter\" src=\"https:\/\/devblogs.microsoft.com\/ifdef-windows\/wp-content\/uploads\/sites\/61\/2026\/06\/Screenshot-2026-06-05-150803-e1781038514908-300x139.webp\" alt=\"Init command project search selection menu\" width=\"762\" height=\"353\" srcset=\"https:\/\/devblogs.microsoft.com\/ifdef-windows\/wp-content\/uploads\/sites\/61\/2026\/06\/Screenshot-2026-06-05-150803-e1781038514908-300x139.webp 300w, https:\/\/devblogs.microsoft.com\/ifdef-windows\/wp-content\/uploads\/sites\/61\/2026\/06\/Screenshot-2026-06-05-150803-e1781038514908-1024x475.webp 1024w, https:\/\/devblogs.microsoft.com\/ifdef-windows\/wp-content\/uploads\/sites\/61\/2026\/06\/Screenshot-2026-06-05-150803-e1781038514908-768x356.webp 768w, https:\/\/devblogs.microsoft.com\/ifdef-windows\/wp-content\/uploads\/sites\/61\/2026\/06\/Screenshot-2026-06-05-150803-e1781038514908.webp 1380w\" sizes=\"(max-width: 762px) 100vw, 762px\" \/><\/a><\/p>\n<p>The command also now warns you when you&#8217;re running in an incompatible directory (like the root of a monorepo) and places configuration files in the right location relative to your project file. For CI and scripting, <em>&#8211;use-defaults<\/em> skips all prompts and applies sensible defaults automatically. We also fixed a crash that occurred when running <code class=\"language-default\">winapp init<\/code> in non-interactive shells \u2014 it now falls back to default behavior gracefully.<\/p>\n<div>\n<h2>\ud83d\udcf8 Higher Quality UI Screenshots<\/h2>\n<p>The <code class=\"language-default\">winapp ui screenshot<\/code> command now produces higher quality captures that preserve rounded window corners and don&#8217;t include any black border. We&#8217;ve also added a <em>&#8211;focus<\/em> flag that brings the target window to the foreground before capturing.<\/p>\n<pre class=\"prettyprint language-default\"><code class=\"language-default\"># Capture a high-quality screenshot of a specific window\r\n\r\nwinapp ui screenshot --process MyApp --focus<\/code><\/pre>\n<div><\/div>\n<h2>\u26a1 Other Notable Changes<\/h2>\n<ul>\n<li><strong>App update notifications<\/strong>: WinApp CLI now checks for updates once daily on your first command run and lets you know when a new version is available.<\/li>\n<li><strong><code class=\"language-default\">winapp run<\/code> passthrough arguments<\/strong> (v0.3.1): Use &#8220;&#8211;&#8221; to pass arguments directly to your app without quoting gymnastics: <code class=\"language-default\">winapp run . -- --my-flag value<\/code><\/li>\n<li><strong>Plain progress output for CI\/AI terminals<\/strong> (v0.3.1): Auto-detects non-interactive environments (GitHub Actions, Azure DevOps, Copilot CLI, etc.) and falls back to append-only progress lines instead of animated spinners.<\/li>\n<li><strong><code class=\"language-default\">ui inspect --interactive<\/code> improvements<\/strong> (v0.3.1): Non-interactive ancestors are collapsed and surfaced as `ancestorPath`, making large UI trees much easier to navigate.<\/li>\n<\/ul>\n<h2>\ud83d\udc1b Bug Fixes<\/h2>\n<ul>\n<li>Fixed init crash in non-interactive shells<\/li>\n<li>Fixed duplicate files from runtime overwriting resources during MSIX packing<\/li>\n<li>Improved process name ambiguity reporting for partial matches<\/li>\n<li>Resolved update check timeout issue<\/li>\n<li>Run command no longer accidentally picks <em>createdump.exe<\/em> over your app<\/li>\n<li>Fixed register command misreporting package-already-exists conflicts as Developer Mode errors<\/li>\n<li>Fixed data-loss bugs in unregister command with per-package safety checks<\/li>\n<li>NuGet version range parsing fix on cache-warm runs<\/li>\n<li>Added forward compatibility for WinAppSDK 2.0.1 framework package naming<\/li>\n<\/ul>\n<h2>\u26d3\ufe0f\u200d\ud83d\udca5 Breaking Changes<\/h2>\n<ul>\n<li><strong><code class=\"language-default\">winapp ui --json<\/code> output reshaped<\/strong> (v0.3.1): JSON output for UI commands has been restructured for consistency. If you&#8217;re parsing these outputs in scripts, check the <a href=\"https:\/\/github.com\/microsoft\/winappCli\/releases\/tag\/v0.3.1\">0.3.1 release notes<\/a> for the new shapes.<\/li>\n<\/ul>\n<h2>\ud83d\udda5\ufe0f Get started today<\/h2>\n<\/div>\n<p>The Windows App Development CLI is available now in public preview. Visit our <a href=\"https:\/\/github.com\/microsoft\/WinAppCli\">GitHub repository<\/a> for documentation, guides, and to file issues. We would love to hear your feedback!<\/p>\n<p><strong>Install via WinGet:<\/strong><\/p>\n<pre class=\"prettyprint language-default\"><code class=\"language-default\">winget install microsoft.winappcli<\/code><\/pre>\n<p><strong>Install via npm:<\/strong><\/p>\n<pre class=\"prettyprint language-default\"><code class=\"language-default\">npm install --save-dev @microsoft-winappcli<\/code><\/pre>\n<p>Happy coding!<\/p>\n<div><\/div>\n","protected":false},"excerpt":{"rendered":"<p>Windows App Development CLI v0.3.2 is here! This release brings MSIX bundle support for multi-architecture packaging, a smarter winapp init experience that auto-detects your projects, higher quality UI screenshots, and a handful of reliability fixes across the board. Get the update by running winget install Microsoft.WinAppCLI or check the repo for other install options. Let&#8217;s [&hellip;]<\/p>\n","protected":false},"author":73101,"featured_media":1176,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[1,71],"tags":[85,49,74,59,63,72,73,6,7,44],"class_list":["post-1181","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-ifdef-windows","category-windows-app-development-cli","tag-bundling","tag-dotnet","tag-flutter","tag-microsoft-store","tag-msix","tag-winapp","tag-winappcli","tag-winui","tag-winui3","tag-wpf"],"acf":[],"blog_post_summary":"<p>Windows App Development CLI v0.3.2 is here! This release brings MSIX bundle support for multi-architecture packaging, a smarter winapp init experience that auto-detects your projects, higher quality UI screenshots, and a handful of reliability fixes across the board. Get the update by running winget install Microsoft.WinAppCLI or check the repo for other install options. Let&#8217;s [&hellip;]<\/p>\n","_links":{"self":[{"href":"https:\/\/devblogs.microsoft.com\/ifdef-windows\/wp-json\/wp\/v2\/posts\/1181","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/devblogs.microsoft.com\/ifdef-windows\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/devblogs.microsoft.com\/ifdef-windows\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/ifdef-windows\/wp-json\/wp\/v2\/users\/73101"}],"replies":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/ifdef-windows\/wp-json\/wp\/v2\/comments?post=1181"}],"version-history":[{"count":1,"href":"https:\/\/devblogs.microsoft.com\/ifdef-windows\/wp-json\/wp\/v2\/posts\/1181\/revisions"}],"predecessor-version":[{"id":1190,"href":"https:\/\/devblogs.microsoft.com\/ifdef-windows\/wp-json\/wp\/v2\/posts\/1181\/revisions\/1190"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/ifdef-windows\/wp-json\/wp\/v2\/media\/1176"}],"wp:attachment":[{"href":"https:\/\/devblogs.microsoft.com\/ifdef-windows\/wp-json\/wp\/v2\/media?parent=1181"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/ifdef-windows\/wp-json\/wp\/v2\/categories?post=1181"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/ifdef-windows\/wp-json\/wp\/v2\/tags?post=1181"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}