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);

}

时间: 2024-10-24 16:25:08

visual studio installer 卸载时不能删除安装目录问题的相关文章

Visual Studio 2015/2013安装失败:Microsoft Visual Studio 2015 Shell (Minimum) Interop Assemblies 安装时发生严重错误

由于安装VS2015时多次更改卸载重装等操作后,重新安装时出现该错误: Microsoft Visual Studio 2015 Shell (Minimum) Interop Assemblies 安装时发生严重错误 简直是无法继续了,网上搜索不到很明确的解决办法,查看日志文件得知错误码和错误信息: 0x80070643,Could not open key: UNKNOWN\Components\D2E60322F7884D115A04000972A8B18B\C5FEE661699FE09

Visual Stdio 2015打包安装项目的方法(使用Visual Studio Installer)

首先在官网下载VS2015的Visual Studio Installer 1.创建安装项目 里面最左侧的框框有三个文件夹 1."应用程序文件夹"即"Application Folder"表示要安装的应用程序需要添加的文件: 2."用户的'程序'菜单"即"User's Programs Menu"表示:应用程序安装完,用户的"开始菜单"中的显示的内容,一般在这个文件夹中,需要再创建一个文件用来存放:应用程序

解决记录:win10 无法安装VS2017,visual studio installer下载进度始终为0

问题描述:win10 下无法安装VS2017,visual studio installer下载进度始终为0,点击取消按钮后,也没有反应,visual studio installer也关闭不掉: 具体问题详见 博问:https://q.cnblogs.com/q/106027/          微软问题:https://social.msdn.microsoft.com/Forums/zh-CN/baafa177-158d-4130-bc64-330b7b32a14c/win10-vs201

visual studio installer 打包123

下载安装visual studio installer 新建SetUp项目(前提是已有一个CS项目,这里使用WPF项目测试) 3.打开文件视图 4.复制release目录下的文件到Application Folder 5.创建两个快捷方式,一个放到DeskTop,另一个放到Program Menu. 粘贴快捷方式到DeskTop和Program Menu 6.添加卸载功能: 找到C:\Windows\System32\Msiexec.exe,将其复制到Application folder目录下,

Visual Studio 2010编译时总是提示"调用目标发生了异常"的解决

现象: 无论建立的是Win32 Console的解决方案,还是MFC的解决方案,重新打开Visual Studio 2010之后,编译时总是提示“调用的目标发生了异常” 解决: 1. 关闭Visual Studio 2. 找到.sln所在目录,用文本编辑器打开sln文件,发现有如下的定义 GlobalSection(PowerDesigner) = preSolution HasSWS = 1 EndGlobalSection     剁了这三行 3.  删除.suo文件 4.  重新打开Vis

Visual Studio for Mac Preview离线下载安装

Visual Studio for Mac离线下载安装. 环境:OS X EI Caption 10.11.2 .NET Core SDK 1.1 需预先安装 .NET Core 1.1 SDK macOS版下载地址:https://go.microsoft.com/fwlink/?LinkID=835011 安装SDK需先安装openssl. brew update brew install openssl mkdir -p /usr/local/lib ln -s /usr/local/op

VS2015--在 Visual Studio 中调试时映射调用堆栈上的方法

https://msdn.microsoft.com/zh-cn/library/dn194476.aspx 在 Visual Studio 中调试时映射调用堆栈上的方法 创建代码图,以便在调试时对调用堆栈进行可视化跟踪.你可以在图中进行标注以跟踪代码执行的操作,以便专注于查找 Bug. 生成调用堆栈图 1 开始调试.(键盘:"F5") 2 在你的应用进入中断模式或你单步执行某一函数之后,请选择"代码图".(键盘:Ctrl + Shift + `) 当前的调用堆栈在

Visual Studio Installer(2017)点击 无反应 也无错误日志

win7 系统 sp1 x64 vs2107 是企业版 1.开始菜单中右键单击Visual Studio Installer图标→[属性]→[打开文件位置]找到[vs_installer.exe]文件: 2.右键单击[vs_installer.exe]文件→[属性]→[兼容性],勾选[禁用视觉主题]和[禁用桌面元素],点击[确定]: 3.以管理员身份运行[Visual Studio Installer]即可. 原文地址:https://www.cnblogs.com/challengesofli

已经删除安装目录不能再安装的问题

昨天碰到一个比较奇怪的问题,就是在我的Win7上安装一个自己编译的msi安装包,接着没有卸栽就直接删除安装目录,结果在控制面板里也不能删除软件,导致新的软件也不能安装.这时,我想到注册表,结果就到注册表里把相应的键删除了,在控制面板里已经看不到相应的软件,但是还是不能安装新的版本的软件. 这时还不断地去查找相应的GUID相关的键,也没有找到. 后来搜索到MS的网站上提供了一个工具,就可以解决这个问题,网站地址: https://support.microsoft.com/zh-cn/mats/p