运行Windows卸载程序时关闭应用程序

时间:2011-05-05 13:25:43

标签: c# windows visual-studio visual-studio-2010 uninstall

我有一个C#应用程序。除此之外一切正常:

当我从添加/删除程序中卸载应用程序时,如果应用程序未关闭,它将在卸载后保持打开状态。

对于那些无法阅读隐含问题的人......“如何在卸载时关闭应用程序?”。

如果您需要任何细节,请询问。

3 个答案:

答案 0 :(得分:3)

在您的Installer项目中(我假设您已使用Visual Studio中的Installer项目生成了MSI安装程序),您应该包含一个继承自Installer基类的类:

[RunInstaller(true)]
public class MyInstaller: Installer
{
    public override void Install(IDictionary stateSaver)
    {
        base.Install(stateSaver);
    }


    public override void Uninstall(IDictionary savedState)
    {
        base.Uninstall(savedState);

        //TODO: Code to kill the live instance(s)
    }

    // Other override methods here if necessary
}

当用户卸载您的应用程序时,将执行此类的“卸载”方法。

在此方法中,您可以选择正在运行的进程列表并终止应用的所有实例。

答案 1 :(得分:0)

也许它是开放的,因为它在ram内存中。关闭它。

答案 2 :(得分:0)

这就是它的工作原理。

卸载会将其从磁盘中删除,而不是从内存中删除。

您必须在卸载操作中添加一些自定义代码才能在卸载前关闭应用