惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
爱范儿
爱范儿
H
Help Net Security
V
Visual Studio Blog
J
Java Code Geeks
Stack Overflow Blog
Stack Overflow Blog
Microsoft Security Blog
Microsoft Security Blog
Apple Machine Learning Research
Apple Machine Learning Research
MyScale Blog
MyScale Blog
The Cloudflare Blog
Martin Fowler
Martin Fowler
D
Docker
腾讯CDC
F
Fortinet All Blogs
雷峰网
雷峰网
GbyAI
GbyAI
G
Google Developers Blog
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
Recent Announcements
Recent Announcements
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
Blog — PlanetScale
Blog — PlanetScale
Engineering at Meta
Engineering at Meta
博客园 - 聂微东
博客园 - 叶小钗

博客园 - chingho

OpenClaw 不会安装的,一键安装包来了,代码开源! Windows下安装 Ollama + OpenClaw + 飞书,实现真正本地部署! 告别代码!我用Trae氛围编程的方式,开发了一款公众号文章同步插件! C#实现Stdio通信方式的MCP Server C#实现SSE通信方式的MCP Server C#实现MCP Client 与 LLM 连接,抓取网页内容功能! VS Code + Cline + 魔搭MCP Server 实现抓取网页内容。 C#实现自己的MCP Client 一文掌握DeepSeek本地部署+Page Assist浏览器插件+C#接口调用+局域网访问!全攻略来了! Phi小模型开发教程:C#使用本地模型Phi视觉模型分析图像,实现图片分类、搜索等功能 Phi小模型开发教程:用C#开发本地部署AI聊天工具,只需CPU,不需要GPU,3G内存就可以运行,不输GPT-3.5 OxyPlot:一个功能强大、漂亮.Net跨平台开源绘图库 websocket-sharp:.NET平台上的WebSocket客户端与服务器开源库 Eval-Expression.NET:动态执行C#脚本,类似Javascript的Eval函数功能 BotSharp:又一个.Net重磅AI开源项目,.Net在AI领域开始崛起! DateTimeExtensions:一个轻量C#的开源DateTime扩展方法库 Bogus:.NET的假数据生成利器 Coravel:一个可轻松实现任务调度、队列、邮件发送的开源项目 .Net程序员机会来了,微软官方新推出一个面向Windows开发者本地运行AI模型的开源工具
微软新利器!winapp CLI:一键打包、调试、集成 Windows 原生...
chingho · 2026-01-23 · via 博客园 - chingho

大家好,我是编程乐趣。好消息来了,微软官方发布 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 -

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