前言:VS自带的打包工具对于单文件简单程序很好用,对于多文件涉及到依赖其他程序就需要多一点配置了,之前打包过一个简单程序,后来程序变大后再执行生成的时候就出现问题了,要么执行不成功,要么生成成功安装后不管用,现就这种问题记录下解决心路。
wpf
Net6框架
vs2022
说明:不管是vs自带的打包工具还是NSIS等打包软件生成安装文件,其原理都一样,就是将程序可行性文件压缩打包,然后在释放安装,你会安装的程序内容和vs生成bin文件下的文件内容是一样的。所以一切都简单了,如果在bin中能运行,在安装后的文件中不能运行,那就比对下这两个文件夹下的内容是不是不一样,缺什么从bin下复制,如果可以运行了那就是打包时需要将其打包上。
一、添加主程序
笔者上一篇文章中的程序比较小,直接通过设置输出项即可完成打包,现在的程序发现这招不行了,查了下资料发现是需要添加依赖和程序执行文件
这里选择添加文件,导航到bin文件夹下,将其添加进来即可。
二、问题解决
安装好后运行下,出现这个错误
不慌,这是因为快捷方式没有指定到exe文件,看下安装文件是不是全了
相对于bin下文件,少了runtimes,先不管,先把快捷方式指定到exe看下效果
修改后重新加载后然后再安装
双击快捷方式,没反应,那就是那个runtimes运行环境没有被打包
将runtiems重新打包进Application Folder中,复制,然后黏贴进Application Folder中即可
重新生成下,然后安装,搞定