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

如何将WinUI应用打包为包含所有DLL的EXE安装包或MSIX?

解决WinUI应用打包时NuGet依赖DLL缺失问题及单文件/EXE安装包方案

一、修复MSIX打包中NuGet依赖DLL缺失的问题

  • 检查NuGet包的Copy Local属性:右键项目中的NuGet引用→属性,将Copy Local设置为True。部分NuGet包默认该属性为False,会导致打包时未将DLL复制到输出目录。
  • 确认打包项目的包含规则:若使用独立的Windows Application Packaging Project,需确保主项目已被添加为引用,且打包项目的文件节点中,主项目的Release输出目录(如bin\Release\net6.0-windows10.0.19041.0\win10-x64)未被排除,所有依赖文件会被自动包含。
  • 清理缓存后重新打包:执行Build→Clean Solution清理解决方案,再依次重新生成主项目和打包项目,最后执行发布操作,避免旧缓存导致的打包异常。

二、生成单文件MSIX安装包

MSIX本身是容器化格式,但可生成单个独立MSIX文件(无需额外依赖包):

  • 打开打包项目的属性面板,切换到打包选项卡,找到依赖项设置,选择「将所有依赖项包含在包中」(不同VS版本表述可能略有差异)。此设置会将所有NuGet依赖及必要的系统运行时嵌入到MSIX文件内,生成可直接分发的单文件安装包。
  • 注意:包含系统运行时会增大MSIX体积,若无需离线安装,也可选择让安装程序自动下载运行时,但单文件打包必须启用依赖包含。

三、生成传统EXE格式安装文件

若偏好传统EXE安装包,可通过以下工具实现:

  • WiX Toolset:开源安装包制作工具,创建WiX项目后,配置主项目的所有输出文件(含NuGet DLL),定义安装目录、快捷方式、卸载逻辑等,最终编译生成EXE安装程序。
  • Inno Setup:轻量级脚本化安装工具,编写脚本指定应用文件来源(主项目Release输出目录),设置安装路径、快捷方式等参数,编译后生成单EXE安装包。

内容的提问来源于stack exchange,提问作者Rishi Verma

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.18 05:42:37