系统极客一直在努力
专注操作系统及软件使用技能

微软发布 WinApp CLI:重塑跨平台 Windows 开发体验

命令行

微软发布 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 集成等)的门槛,能让你在任何熟悉的工具链中,轻松接入原生能力。

一行命令,环境就绪

WinApp CLI 初始化

还记得过去为了搭建一个 Windows 开发环境,需要手动执行多少繁琐步骤吗?现在,只需一条init命令,就能自动引导整个工作区初始化。它会自动下载所需的 SDK 组件,生成语言投影(如 C++/WinRT),并配置好开发所需的一切基础环境。

原本那些容易出错的手工操作——创建AppxManifest.xml清单、处理应用图标等资源资产、生成本地开发证书、管理依赖项——现在都被浓缩成一条简单的 CLI 命令:

winapp init

对于团队协作,winapp restore命令可以让不同成员瞬间同步到一致的「环境状态」。而在 CI/CD 场景中,GitHub Actions 和 Azure DevOps 也已提供官方支持,通过专用 Action 自动安装 CLI,无缝集成到自动化流水线中。

调试难题:赋予「包标识」

WinApp CLI 包标识

许多现代 Windows API(如 Windows AI API、通知中心、MCP Hosts 等)都强制要求应用程序拥有「包标识」(Package Identity)。在过去,若想测试这些功能,开发者往往必须先将应用完整打包并安装到系统中——这就严重拖慢了「编写-测试」的反馈循环。

而 WinApp CLI 彻底改变了这一现状。通过create-debug-identity命令,你可以直接为任意可执行文件注入临时的包标识。这意味着,你可以在熟悉的调试流程中,直接调用那些依赖包标识的 API,而无需反复打包和安装:

winapp create-debug-identity my-app.exe

你可以参考微软官方提供的示例指南,将该能力集成进 Electron、Rust、CMake 等不同工具链,享受真正无缝的本地调试体验。

清单与证书,不再是拦路虎

WinApp CLI 自动填充appxmanifest.xml

搞定一个合法的appxmanifest.xml和可信的开发证书,往往是 Windows 开发新手的噩梦。虽然上文提到的 init 命令已经自动化了大部分工作,但 CLI 依然提供了独立的命令来精细化管理这些资源。

需要为项目生成一份新清单?想用一张 Logo 图片自动填充appxmanifest.xml中所有尺寸的资产?或是快速生成并安装一张自签名的开发证书?现在,这些操作都只需一行命令。CLI 甚至会自动将证书安装到本地信任存储,让你在「旁加载」测试包时无需额外配置。

例如,用一张图片自动更新清单中的全部图标资产:

winapp manifest update-assets C:\images\my-logo.png

再比如,生成一张专用于自签名、旁加载和本地测试的开发证书:

winapp cert generate

MSIX 打包,一步到位

WinApp CLI 打包应用

当你准备发布应用时,生成 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

最后,微软还提供了针对主流技术栈的快速入门指南,涵盖 Electron.NETC++/CMake 和 Rust

赞(0)
分享到

评论 抢沙发