打包成setup.exe的完整流程可以参考:将WinForm项目打包成exe安装包,并创建快捷方式 (vs2019)_winform发布成exe-CSDN博客
以下内容默认大家已经知道打包的完整流程。
一、自定义安装目录
真的好讨厌安装程序直接安装到选择的路径,不新建目录啊啊啊!
现在轮到我自己要做一个程序的部署安装了,我一定要解决这个问题。
我搜索了很多博客,关于自定义安装什么的,结果最后发现我想要的如此简单。就是在Application下面先建一个文件夹!!再把exe、dll等拖进去:
二、配置卸载前执行exe
我现在做的是一个游戏的启动器,启动以后需要下载资源,但是卸载的时候不会自动删除这些资源,只会卸载安装的时候的部分。于是想在卸载的时候执行一个程序自动删除资源。给这个程序取名clear Resource、哈
1.写一个删除资源的项目,生成exe
我这里是在VS新建的一个控制台应用,可以放在跟项目同一个解决方案下面,默认会给一个脚本Program.cs,直接在里面写代码就好了,mian函数项目都处理好了。
在里面写一些自己想要的操作,然后右键项目生成,在生成的文件夹能看到好几个文件和你用到的dll。这里记两个小tips
a.获取程序当前路径不要使用Environment.CurrentDirectory,前者返回的是调用这个程序的程序路径,可以使用AppDomain.CurrentDomain.BaseDirectory
b.控制台应用执行完会自动关闭,想看输出信息的话,可以让它接受任意键再关闭
Console.WriteLine("卸载完成。输入任意键关闭:");
ConsoleKeyInfo keyPress = Console.ReadKey(intercept: true);
2.配置
分两步,加入exe和配置到uninstall
a.在application folder加入所有clearResource生成的文件和dll,和项目在同一级目录就行,我截图只截了一部分
然后,右键这里的目录,添加项目输出,选中clearResource,确定。目录下就会生成一个发布项
b.把clearResource发布项配置到卸载操作,先右键setup项目->view(视图)->自定义操作,打开如下界面,再右键uninstall,添加自定义操作,浏览选择上面的发布项即可
配置好以后,卸载程序时,会先执行配置的操作,再执行卸载程序。
结束。