installshield在安装新版本之前停止旧进程

时间:2014-01-20 20:24:33

标签: c# visual-studio-2012 installshield

我使用installshield 2012,框架3.5进行了设置,我正在生成新的设置。我的问题是我的UpgradeCode必须改变。所以我需要使用不同的UpgradeCode更新mi .exe。 当我运行旧的.exe文本时,我的问题就是晒黑了,安装执行得不好,执行时.exe失败了。 我需要做的是确认,在安装新版本之前,旧版本没有运行。 我试图在我的安装程序类中包含

public override void Install(IDictionary stateSaver)
{
      Process[] processes = Process.GetProcessesByName(processID); 
      foreach (Process process in processes)
      {
            process.Kill();
            process.WaitForExit();
            process.Close();
      }
}

但它不起作用。 有任何想法吗? 感谢

1 个答案:

答案 0 :(得分:2)

您可以ask the user to close it and stop the installation of the new version until the old application is closed而不是在没有任何通知的情况下杀死您的应用程序(这会导致您的用户丢失未保存的数据等...),您可以{{3}}。

以上链接说明了如何使用其他工具,但使用正确的自定义操作集可以在任何设置创作工具中实现。