在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 卸载时不能删除安装目录问题相关推荐

  1. 安装包卸载时如何删除安装时写在系统环境变量中的内容

    在用InstallShield制作安装包时,有时我们会在脚本中通过操作注册表,配置系统环境变量,比如在Path中追加,但卸载时如何清除追加的路径变量,一直有些模糊. 今天受网友启发,在InstallS ...

  2. 解决安装visual studio installer 报错,无法下载安装文件的问题

    文章目录 解决安装visual studio installer 报错,无法下载安装文件的问题 Visual Studio 2019下载官网 一.VS2019安装问题 问题 解决方法1 解决方法2 解 ...

  3. Visual Studio 2017 卸载 以及 Visual Studio 2010 安装

    Visual Studio 2017 卸载 在计算机上找到 Visual Studio 安装程序(开始),点击"visual studio Installer"         2 ...

  4. 【Visual Studio】Visual Studio 2019 创建 Windows 控制台程序 ( 安装 ‘使用 C++ 的桌面开发‘ 组件 | 创建并运行 Windows 控制台程序 )

    文章目录 一.安装 C++ 桌面开发组件 二.创建并运行 Windows 控制台程序 一.安装 C++ 桌面开发组件 打开 Visual Studio Installer , 点击 " 修改 ...

  5. 怎么解决在打开Visual Studio时的报错“无法找到一个或多个组件”以及关于Visual Studio Installer无法识别已安装的VS并报错找不到路径的问题

    第一个问题:打开Visual Studio时的报错"无法找到一个或多个组件". 情况1:如果是点击安装后桌面生产的Visual Studio的快捷方式而导致出错,建议定位到Visu ...

  6. VS2017 安装 Microsoft Visual Studio Installer Project

    VS2017 安装 Microsoft Visual Studio Installer Project 乌龟慢慢爬xhy 分类专栏: 部署 1.安装打包插件:Microsoft Visual Stud ...

  7. Visual Studio 2019 卸载干净+下载安装方法 2021-5-7

    Visual Studio 2019 卸载干净+下载安装方法 VS是一个功能强大的工具,它自带有卸载功能.若是需要下载,可在其官网上下载免费版本.(这里我们以最新版本VS2019为例) 文章目录 Vi ...

  8. 安装Microsoft Visual Studio Installer Projects 2022

    安装 Microsoft Visual Studio Installer Projects 2022 点击download: 离线安装网址: Microsoft Visual Studio Insta ...

  9. VS2022/VS2019安装WinForm打包程序,Microsoft Visual Studio Installer Projects 2022下载(网盘下载),Installer Project

    问题:使用VS2022创建WinForm程序,完了需要打包成安装程序,这时候我去下载Microsoft Visual Studio Installer Projects 2022插件,速度超级慢,恶心 ...

最新文章

  1. java实现请求发送_java实现响应重定向发送post请求操作示例
  2. Spring AOP中pointcut expression表达式解析
  3. 0820-拼多多二面
  4. Quick BI产品核心功能大图(五)移动端:让数据在更多业务场景中流通
  5. 为什么GEO2R/GEOquery的结果可能是错的?
  6. c语言动态的申请矩阵存储空间,C语言中二维数组如何申请动态分配内存
  7. 字典添加数据_【Python基础学习】4. 数据类型之字典及其操作
  8. 二、RabbitMQ常用交换器
  9. 计算机技术发展5大阶段,现阶段计算机技术应用及发展
  10. 【科普贴】MDIO接口详解
  11. matlab激光扩束总结,zemax笔记14——激光扩束系统的设计
  12. 上网行为管理软件的功能
  13. 即时通讯系统集成开发
  14. Udesk即时通讯网页插件发送咨询对象(一、使用内嵌代码)
  15. [转载]《博客园精华集》WF筛选结果(共39篇)
  16. 这本书献给所有铸就开源世界的人们
  17. 1.稀缺数组java实现
  18. Tensorflow小白实战系列
  19. Python要想学得好,【容器/可迭代对象/迭代器/生成器】少不了,稳扎稳打学Python!
  20. 牛客白月赛49【题解】

热门文章

  1. sql求平均日活_日活、周活(周重活)、月活 统计
  2. python 数据分析模块_Python数据分析之Numpy模块
  3. 计算圆弧与矩形相交_【技术】新型七层矩形卷边工艺实践
  4. Spring Boot基础学习笔记11:Spring MVC
  5. 2018 EC Final(西安)小结
  6. BestCoder Round #77 (div.2)解题报告
  7. 【codevs1068】乌龟棋noip10年TG----第二个A掉的钻石题
  8. C ++ 类 | 构造函数w参数_6
  9. 复数基础——数组_1
  10. 算术运算导致溢出。_【S7200指令教程】数据运算指令ADD SUB MUL DIV