星空网 > 软件开发 > 操作系统

visual studio installer 卸载时不能删除安装目录问题

 

在vs中可以制作安装程序,但是这个安装程序默认卸载的时候不会把安装目录卸载,如果想在卸载的时候删除这个目录,那就要费点周折了。此方法同时适应于程序自删除以及工作目录删除。

基本思路是在程序要退出的时候启动一个脚本,该脚本会做好善后工作,删除所有不必要的东西。注意这个脚本应该是在程序完全退出以后再去删工作目录。

直接贴代码了,思路也很简单,主要是通过一个ping来进行延时,保证程序退出以后再删。

protected override void OnAfterUninstall(IDictionary savedState)

{

Assembly asm = Assembly.GetExecutingAssembly();

string path = asm.Location.Remove(asm.Location.LastIndexOf("\\"));

DeleteAllSelf(path);

static void DeleteAllSelf(string path)

{

System.IO.Directory.SetCurrentDirectory("c:\\");

string fileName = Path.Combine("c:\\", "remove.bat");

StreamWriter bat = new StreamWriter(fileName, false, Encoding.Default);

bat.WriteLine("ping 127.0.0.1 -n 7 > nul"); //此处的延时非常必要,,保证删目录的时候程序已经完全退出了!

bat.WriteLine(string.Format("rd \"{0}\" /q /s", path));

bat.WriteLine(string.Format("del \"{0}\" /q", fileName));

 

bat.Close();

ProcessStartInfo info = new ProcessStartInfo(fileName);

info.WorkingDirectory = "c:\\";

info.WindowStyle = ProcessWindowStyle.Hidden;

Process.Start(info);

}




原标题:visual studio installer 卸载时不能删除安装目录问题

关键词:Visual,Studio

*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: admin#shaoqun.com (#换成@)。

美西海外仓库:https://www.goluckyvip.com/tag/38603.html
美西海运:https://www.goluckyvip.com/tag/38604.html
美西航线:https://www.goluckyvip.com/tag/38605.html
美线fba:https://www.goluckyvip.com/tag/38607.html
美线空派:https://www.goluckyvip.com/tag/38608.html
美新海外仓:https://www.goluckyvip.com/tag/38609.html
NRA账户的开户主体包括:香港、美国、新加坡、欧盟等国家的详细解析 :https://www.xlkjsw.com/news/94338.html
湘西游轮六 湘江游轮夜游:https://www.vstour.cn/a/411226.html
相关文章
我的浏览记录
最新相关资讯
海外公司注册 | 跨境电商服务平台 | 深圳旅行社 | 东南亚物流