news 2026/4/23 14:02:06

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

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
微软新利器!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 可通过/* by 01022.hk - online tools website : 01022.hk/zh/html2cj.html */ create-debug-identity命令无需完整打包即可为开发中的 EXE 添加临时身份,极大简化调试流程。

3.MSIX 打包与签名

一键生成符合 Microsoft Store 要求的MSIX 安装包。内置开发证书生成(/* by 01022.hk - online tools website : 01022.hk/zh/html2cj.html */ 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 Actionsetup-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 -

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

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/4 5:31:18

会议室和展厅的可编程网络中控系统主机万物互联的基础:modbus,zigbee,knx,wakeup,pjlink,json,dmx512协议的支持

在会议室、展厅等智能化场景中,可编程网络中控系统主机是实现设备协同、高效管控的核心枢纽,而各类通信协议的全面支持,则是搭建“万物互联”架构的技术根基。Modbus、ZigBee、KNX、Wake-on-LAN(简称Wakeup)、PJLink、…

作者头像 李华
网站建设 2026/4/21 3:42:54

Qwen2.5-0.5B如何实现自动保存对话?历史记录功能

Qwen2.5-0.5B如何实现自动保存对话?历史记录功能 1. 为什么小模型也需要记住你说了什么? 你有没有试过和一个AI聊到一半,刷新页面后——所有对话全没了?就像刚讲到精彩处,朋友突然失忆。Qwen2.5-0.5B虽只有0.5B参数&…

作者头像 李华
网站建设 2026/4/19 16:25:09

为什么Qwen3-14B适合中小企业?单卡部署成本分析

为什么Qwen3-14B适合中小企业?单卡部署成本分析 1. 中小企业AI落地的现实困境 很多中小企业想用大模型,但一上来就被三座大山拦住:显存不够、算力太贵、运维复杂。买不起8卡H100服务器,租云服务按小时计费又烧钱,本地…

作者头像 李华
网站建设 2026/4/23 14:01:57

Emotion2Vec+语音情感系统使用技巧,提升识别准确率

Emotion2Vec语音情感系统使用技巧,提升识别准确率 1. 引言:为什么你的语音情感识别结果不够准? 你有没有遇到过这种情况:上传了一段明显带着愤怒情绪的语音,系统却识别成“中性”?或者一段轻快的笑声被判…

作者头像 李华
网站建设 2026/4/19 17:08:23

fft npainting lama疑问解答:标注无效怎么办?实战指南

FFT NPainting LaMa疑问解答:标注无效怎么办?实战指南 1. 问题背景:为什么标注了却提示“无效”? 你是不是也遇到过这种情况:明明用画笔在图上涂了一大片白色,点击“ 开始修复”后,状态栏却弹…

作者头像 李华
网站建设 2026/4/15 17:44:42

IQuest-Coder-V1部署性能瓶颈?KV Cache优化实战解析

IQuest-Coder-V1部署性能瓶颈?KV Cache优化实战解析 IQuest-Coder-V1-40B-Instruct 是一款面向软件工程和竞技编程的新一代代码大语言模型。它不仅在多个权威编码基准测试中表现卓越,还通过创新的训练范式和架构设计,重新定义了代码智能的边…

作者头像 李华