使用官方扩展Microsoft Visual Studio Installer Projects
-
安装扩展
-
重启VS
-
打开你要打包的项目
-
右键选择解决方案,新建setup project项目
-
给项目起名字,就是最后打包的exe文件的名字
-
右键setup项目->View->文件系统,打开文件系统
-
右键Application Folder->Add->项目输出
-
选择你想要生成exe的项目,作为主输出,并设置配置,debug或者release,一般打包程序都用release
-
设置好之后点击确定,会自动检测依赖项
-
设置好之后右键点击setup项目,点击生成
-
我看有些人说重新生成整个解决方案,也是可以的,但是不建议,生成完后说直接安装,也不建议,这时候在项目目录下面已经生成了exe和msi格式的安装文件了,我这里路径是(项目路径/Setup1/Release/)
-
这样只需要运行MSI文件即可执行安装程序,可以把msi文件发到其他windows系统直接运行,也可以安装在自己电脑上,和普通的安装流程一样,安装完后文件目录应该是这样的
-
这样这里的exe文件就可以直接运行了
-
注意,自动检测dll可能还是不全的,我请教了一些大佬,他们说是没有非常可靠的打包工具,需要你对自己项目的依赖项了如指掌,或者发送到其它电脑测试一下缺少哪些文件,在第6步中不选择添加项目输出,而是添加文件,把依赖的内容手动添加进去。
项目属性设置
- 打开属性窗口
- 这里可以设置一些项目属性
关于DLL依赖项缺失
我使用了一个Dependencies工具,检测了exe文件的所有依赖项,然后用脚本批处理把检测到的非C盘的依赖项全部复制到一起,然后添加进setup项目里去,这样打包之后大多就不会再缺失依赖项了。
用法可以查看这篇文章
其实有了这个工具也就不太依赖VS的打包方法了,可以直接单独建一个文件夹放置exe文件及其依赖项,打个压缩包就可以了
参考
检测依赖项工具
https://github.com/lucasg/Dependencies
博客
VS程序打包
Microsoft Visual Studio 2022 项目打包详细步骤
VS2019install插件生成MSI安装包缺少Dll文件的解决方法
官方指南
Microsoft Visual Studio Installer Projects 2022 - Visual Studio Marketplace
Visual Studio Installer Deployment | Microsoft Learn
Package a desktop app from source code using Visual Studio - MSIX | Microsoft Learn