微软新利器!winapp CLI:一键打包、调试、集成 Windows 原生能力

大家好,我是编程乐趣。好消息来了,微软官方发布 winapp 开源命令行工具:可以一键初始化开发环境、一键打包,让我们从繁琐的环境搭建中解脱出来,从而将更多精力集中在代码编写与产品创新上。## 📌 项目简介

winapp CLI 是微软推出的一个命令行工具,旨在为 Windows 应用开发者提供统一、简洁的开发体验。它整合了 Windows SDK、App SDK、应用打包(MSIX)、证书管理、清单生成、调试身份配置等核心功能,适用于各种开发框架(如 Electron、.NET、C++、Rust、Tauri、Python 等)。

图片##

🎯 核心功能

winapp CLI 主要解决以下几类开发痛点:

1. 跨平台开发者接入 Windows 原生能力

即使你使用的是 Electron、Tauri 或 Python 等跨平台技术栈,也能轻松调用 Windows App SDK现代 Windows API(如通知、窗口管理、AI 接口等)。

2. 快速添加“应用身份”(App Identity****)

某些 Windows API(如后台任务、推送通知)要求应用具有“包身份”(Package Identity)。winapp CLI 可通过 create-debug-identity 命令无需完整打包即可为开发中的 EXE 添加临时身份,极大简化调试流程。

3. MSIX 打包与签名

一键生成符合 Microsoft Store 要求的 MSIX 安装包。内置开发证书生成(cert)和签名工具(sign),支持自动化部署。

4. 自动生成清单与资源

自动生成 AppxManifest.xml、应用图标、资源文件等。

支持自定义配置,适配不同框架需求。### 5. 集成开发工具链

提供对 Windows SDK 工具(如 MakeAppx、SignTool)的封装,通过 winapp tool 直接调用。

🛠️ 安装方式

  • 推荐(Windows 用户):使用 WinGet

winget install Microsoft.winappcli --source winget

  • 通过 NPM 安装 Electron 项目的 CLI:

npm install @microsoft/winappcli --save-dev-

  • CI/CD 环境:使用官方 GitHub Action setup-WinAppCli
  • 手动下载:从 GitHub Releases 获取最新版本。

🧪 支持的开发框架

winapp CLI 官方提供了多个示例项目,涵盖:

框架示例内容
Electron含 C++/C# 原生插件、AI 集成(Windows ML)
.NET / WPF控制台应用、桌面应用打包
C++ (Win32/CMake)原生 Windows
应用Rust调用 Windows API
Tauri跨平台 Rust 应用打包为 MSIX
Python / CLI 工具将普通 EXE 打包为 MSIX

🛠️ 使用示例

第一步:创建 .NET 应用

dotnet new console -n MyDotNetApp``cd MyDotNetApp

第二步:初始化 winapp 配置

在项目根目录运行:

winapp init该命令会生成 winapp.json 配置文件,用于定义应用名称、版本、入口点(EXE 路径)、图标等元数据。

示例 winapp.json 片段:

{`` "appName": "MyDotNetApp",`` "version": "1.0.0",`` "exePath": "bin/Debug/net8.0/MyDotNetApp.exe",`` "publisher": "CN=YourName"``}

第三步:创建调试身份(关键!)

许多 Windows API(如发送通知)要求应用具有“包身份”(Package Identity)。传统方式需完整打包 MSIX 才能调试,极其低效。

而 winapp CLI 提供了革命性的解决方案:

winapp create-debug-identity这条命令会在不打包的情况下,为你的 EXE 注入临时身份,使其在开发阶段就能调用受保护的 Windows API!

✅ 无需修改代码

✅ 无需重新编译

✅ 即时生效

第四步:打包为 MSIX

准备发布?只需一条命令:

winapp pack .\bin\Release\net10.0-windows10.0.26100.0 --manifest .\appxmanifest.xml --cert .\devcert.pfx 它会自动:

  • 生成 AppxManifest.xml

  • 创建 MSIX 包

  • 使用开发证书签名(可通过 winapp cert 管理)

最终输出 .msix 文件,可直接安装、分发,甚至提交到 Microsoft Store!

🔗 开源项目

GitHub:https://github.com/microsoft/winappCli

✅ 总结

winapp CLI 是微软为现代化 Windows 应用开发打造的一站式 CLI 工具,尤其适合:

  • 想在跨平台项目中使用 Windows 原生功能的开发者

  • 需要快速调试“包身份”相关 API 的团队

  • 希望自动化 MSIX 打包和签名的 DevOps 流程

- End -

文章首发于公众号【编程乐趣】,欢迎大家关注。
图片

posted @ 2026-01-23 11:19  chingho  阅读(220)  评论(0)    收藏  举报