前面提到使用批处理注册了mysql的服务,在卸载时问题就来了,必须先要停掉服务才能继续卸载
希望在运行卸载时自动停止服务,然后移除文件
在这样的目标下研究了两天,却什么都没找到。。。。
自己用C#了个小程序命名为Uninstall.exe打包至安装包内,然后通过自己的小程序来结束进程和调用卸载功能~~
private void ExeBat()
{
Process pro = new Process();
try
{
pro.StartInfo.CreateNoWindow = true;
pro.StartInfo.UseShellExecute = false;
pro.StartInfo.FileName = "Uninstall.bat";
pro.StartInfo.CreateNoWindow = true;
pro.Start();
pro.WaitForExit();
}
catch (Exception ex)
{ MessageBox.Show(ex.Message, "错误 bat", MessageBoxButtons.OK, MessageBoxIcon.Error); }
}
private void Uninstall()
{
Process pro = new Process();
try
{
pro = System.Diagnostics.Process.Start("msiexec.exe", "/x{91B75A2D-B920-4E1C-ADFC-3B2473510086}");
pro.Close();
}
catch (Exception ex)
{ MessageBox.Show(ex.Message, "错误", MessageBoxButtons.OK, MessageBoxIcon.Error); }
}
现在通过自己的快捷方式能卸载了 不过通过二次运行安装包时,依然不能执行脚本,或者是说不知道脚本该放在哪里执行
而且二次运行安装包时还是提醒你安装程序,不过一路下一步点击"立即安装"后,才会出现正常的提示"修复""修改""删除"的选项,我非常疑惑啊
求高手指点