You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何为C++WinRT UWP应用创建Windows应用打包(WAP)项目?

解决C++/WinRT UWP + 完全信任Win32程序打包问题及MSB3774错误

先解决MSB3774错误

这个错误是因为WAP项目指定的Windows SDK版本未安装,或项目间SDK版本不匹配,解决方法如下:

  • 安装对应SDK版本:打开Visual Studio Installer,点击「修改」,在「单个组件」中找到并勾选Windows SDK 10.0.26100.0(需包含Debug工具组件),完成安装。
  • 统一项目SDK版本:若不想安装该版本,右键WAP项目(UWPPackaged)→属性→配置属性→常规,将「Windows SDK版本」修改为你已安装的版本(比如常见的10.0.22621.0)。同时检查UWP项目的SDK版本,确保和WAP项目一致。

正确打包UWP + 完全信任Win32的流程

要同时打包C++/WinRT UWP和完全信任Win32程序,需通过WAP项目整合,步骤如下:

  1. 准备项目:确保解决方案中已有C++/WinRT UWP项目和完全信任Win32项目(Win32项目需设置为无沙箱限制的完全信任模式)。
  2. 添加WAP项目:右键解决方案→添加→新建项目,搜索并选择「Windows Application Packaging Project」,命名后创建。
  3. 添加项目引用:
    • 在WAP项目的Applications节点上右键→添加引用,选择你的UWP项目添加。
    • 在WAP项目的Extensions节点上右键→添加引用,选择你的Win32项目添加(Win32程序会作为桌面扩展打包进MSIX)。
  4. 统一配置:确保WAP、UWP、Win32三个项目的平台(x64/x86/ARM)和配置(Debug/Release)完全一致,避免依赖不兼容。
  5. 处理Win32依赖:如果Win32项目有第三方库或额外资源文件,将这些文件添加到WAP项目中,设置「复制到输出目录」为「始终复制」,并在WAP的Package.appxmanifest中声明部署路径。
  6. 打包测试:右键WAP项目→生成→打包,生成最终的MSIX包;也可右键WAP项目→部署,直接测试安装运行。

注意事项

  • 不要使用UWP项目自带的自打包功能,WAP是整合UWP和桌面程序的官方标准方式。
  • 若Win32程序需要访问系统资源,需在WAP的Package.appxmanifest中声明对应的权限(如文件系统访问权限)。

内容的提问来源于stack exchange,提问作者sz ppeter

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.14 19:55:06