
微软发布 Windows App Development CLI(简称winapp)公共预览版。这是一款开源命令行工具,旨在打破工具链壁垒,从根本上简化 Windows 应用的整个开发生命周期。
WinApp CLI 简介
长久以来,Windows 开发总绕不开令人头疼的「配置劝退」环节:管理版本繁杂的 SDK、手写冗长的 XML 清单文件、生成并信任开发证书、应对复杂的打包规范等……
微软希望开发者能把精力真正聚焦在构建应用本身,而不是和配置文件「斗智斗勇」。WinApp 的核心使命,就是把这些碎片化、容易出错的任务整合进一个统一、简洁的 CLI 工具中。
简单来说,WinApp CLI 就是专为「非 Visual Studio 生态」开发者打造的一把瑞士军刀:
- 无论你是用 Electron 构建桌面应用的前端开发者,还是习惯 CMake 的 C++ 老兵,亦或是选择 Rust、Dart 等现代语言的极客,只要目标平台是 Windows,它都能帮你摆脱对「笨重 IDE」的依赖。
- 它极大降低了调用现代 Windows API(包括 Windows AI API、安全特性、Shell 集成等)的门槛,能让你在任何熟悉的工具链中,轻松接入原生能力。
一行命令,环境就绪

还记得过去为了搭建一个 Windows 开发环境,需要手动执行多少繁琐步骤吗?现在,只需一条init命令,就能自动引导整个工作区初始化。它会自动下载所需的 SDK 组件,生成语言投影(如 C++/WinRT),并配置好开发所需的一切基础环境。
原本那些容易出错的手工操作——创建AppxManifest.xml清单、处理应用图标等资源资产、生成本地开发证书、管理依赖项——现在都被浓缩成一条简单的 CLI 命令:
winapp init
对于团队协作,winapp restore命令可以让不同成员瞬间同步到一致的「环境状态」。而在 CI/CD 场景中,GitHub Actions 和 Azure DevOps 也已提供官方支持,通过专用 Action 自动安装 CLI,无缝集成到自动化流水线中。
调试难题:赋予「包标识」

许多现代 Windows API(如 Windows AI API、通知中心、MCP Hosts 等)都强制要求应用程序拥有「包标识」(Package Identity)。在过去,若想测试这些功能,开发者往往必须先将应用完整打包并安装到系统中——这就严重拖慢了「编写-测试」的反馈循环。
而 WinApp CLI 彻底改变了这一现状。通过create-debug-identity命令,你可以直接为任意可执行文件注入临时的包标识。这意味着,你可以在熟悉的调试流程中,直接调用那些依赖包标识的 API,而无需反复打包和安装:
winapp create-debug-identity my-app.exe
清单与证书,不再是拦路虎

搞定一个合法的appxmanifest.xml和可信的开发证书,往往是 Windows 开发新手的噩梦。虽然上文提到的 init 命令已经自动化了大部分工作,但 CLI 依然提供了独立的命令来精细化管理这些资源。
需要为项目生成一份新清单?想用一张 Logo 图片自动填充appxmanifest.xml中所有尺寸的资产?或是快速生成并安装一张自签名的开发证书?现在,这些操作都只需一行命令。CLI 甚至会自动将证书安装到本地信任存储,让你在「旁加载」测试包时无需额外配置。
例如,用一张图片自动更新清单中的全部图标资产:
winapp manifest update-assets C:\images\my-logo.png
再比如,生成一张专用于自签名、旁加载和本地测试的开发证书:
winapp cert generate
MSIX 打包,一步到位

当你准备发布应用时,生成 MSIX 包也从未如此简单。WinApp CLI 接管了整个打包与签名流程,只需指定输入目录和证书,就能将你的构建产物直接转化为可用于 Microsoft Store 提交或本地旁加载的完整 MSIX 包:
winapp pack ./my-app-files --cert ./devcert.pfx
Electron 开发者福音
对于 Electron 开发者而言,WinApp CLI 更是一大福音。微软不仅将它封装成了 npm 包,还专门构建了连接 Node.js 与原生 Windows 代码的桥梁。
- 借助 CLI,你可以快速生成预配置好的 C++ 或 C# 原生插件项目,轻松接入 Windows App SDK 和完整的 Windows SDK。无论你想在 Electron 应用中集成高性能原生模块,还是调用 Phi Silica 等本地 AI 能力,门槛现在已降到了「地板级」。
- 调试体验也迎来史诗级升级。通过
winapp node add-electron-debug-identity命令,包标识可以被直接注入到正在运行的 Electron 主进程。这意味着,你只需执行npm start,就能立即调试那些依赖包标识的 API(如 Windows AI API),完全无需操心底层的管道搭建。
请观看下方视频演示,实际了解这一流程:
此外,为了验证 CLI 的能力并进一步简化特定 API 的使用,微软还推出了实验性的 Node.js 投影库。例如,通过安装@microsoft/winapp-windows-ai这个 npm 包,你就能直接在 Node.js 环境中调用 LanguageModel 等 Windows AI API。
立即上手 WinApp CLI
Windows App Development CLI 现已开启公共预览。欢迎访问 GitHub 仓库查阅完整文档、使用指南,或提交 Issue 反馈与建议。
安装方式:
- 通过 WinGet 安装(适用于通用开发场景):
winget install microsoft.winappcli
- 通过 npm 安装(适用于 Electron 项目):
npm install --save-dev @microsoft/winappcli















最新评论
这个补丁是有不能关机的bug是吧
我这个为什么不行
就是几个标签页之间切换的时候会有方框的区域显示还是上一个标签页的内容没刷新过来,偶发性的概率很低,但是我3台电脑都出现过这个情况,更新后我再观察观察。
不知道啊,你可以试试,我没遇到过这个问题。