• 博客园logo
  • 会员
  • 周边
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
J1e inside
明日复明日 明日何其多
   首页    新随笔    联系   管理    订阅  订阅
InstallShield制作的安装包卸载问题

前面提到使用批处理注册了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); }
        }

 

现在通过自己的快捷方式能卸载了 不过通过二次运行安装包时,依然不能执行脚本,或者是说不知道脚本该放在哪里执行

而且二次运行安装包时还是提醒你安装程序,不过一路下一步点击"立即安装"后,才会出现正常的提示"修复""修改""删除"的选项,我非常疑惑啊

求高手指点

posted on 2009-11-09 16:20  sglicx23  阅读(1314)  评论(0)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3