微软发布 Windows 应用开发 CLI(winapp)的公开预览版——一款开源命令行工具,旨在统一并简化 Windows 应用从初始化到打包发布的全生命周期流程。

无论你使用 Electron、.NET、C++/CMake、Rust 还是 Dart,只要不在 Visual Studio 或 MSBuild 体系内开发,winapp 都能帮你绕过传统 Windows 开发中最繁琐的环节:SDK 管理、清单配置、证书生成与 MSIX 打包。
为什么需要 winapp?
传统 Windows 开发常面临以下痛点:
- 多个 SDK 版本管理混乱
appxmanifest.xml手动编写易出错- 调试需完整打包安装,开发循环极慢
- 包标识(Package Identity)缺失导致无法调用现代 API(如 Windows AI、通知、安全功能)
winapp 的目标很明确:让开发者专注写代码,而不是配置环境。
核心功能一览
1. 一键初始化项目(winapp init)
自动完成:
- 下载所需 Windows SDK 与 App SDK
- 生成 C++/WinRT 代码投影(后续支持更多语言)
- 创建合规的
appxmanifest.xml - 生成并安装本地开发证书
# 在项目根目录运行
winapp init
对于团队协作或 CI/CD,使用 winapp restore 可精确复现开发环境。
2. 调试无需打包:快速添加包标识
许多现代 API(如 Windows AI)要求应用具备包标识。过去,这意味着必须完整打包并安装应用才能调试。
现在,只需一条命令:
winapp create-debug-identity my-app.exe
即可为任意可执行文件注入临时包标识,直接在开发环境中调用受保护 API,大幅加速迭代速度。
对 Electron 开发者,还提供专用命令:
winapp node add-electron-debug-identity,支持npm start直接调试。
3. 自动化清单与证书管理
- 更新图标资源:
winapp manifest update-assets ./logo.png - 生成开发证书:
winapp cert generate - 自动处理图像尺寸、权限声明、依赖项等细节,避免合规性错误。
4. 一键打包 MSIX
准备发布时,单条命令生成商店就绪的 MSIX 包:
winapp pack ./dist --cert ./devcert.pfx
支持签名、侧载与 Microsoft Store 提交。
特别支持:Electron 开发者
winapp 已发布为 npm 包,并深度集成 Node.js 生态:
- 可搭建 C++/C# 原生插件,预配置 Windows SDK
- 提供实验性 Node.js 投影,直接调用 Windows AI API(如 Phi Silica)
- 示例包:
@microsoft/winapp-windows-ai
这意味着,Electron 应用也能轻松调用本地 AI 模型、系统通知、Shell 集成等原生能力,无需复杂桥接。
安装与上手
通用安装(推荐)
winget install microsoft.winappcli
Electron 项目
npm install --save-dev @microsoft/winappcli
官方已提供针对 Electron、.NET、C++/CMake、Rust 的快速入门指南。















