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



我有一个c#应用。所有工作正常,除了这个:

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

对于那些看不懂暗示性问题的人…"我该如何关闭应用程序?"在卸载?"。

在您的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
}

这个类的卸载方法将在用户卸载应用程序时执行。

在这个方法中,你可以选择正在运行的进程列表并杀死你的应用程序的所有活动实例。

也许它是打开的,因为它在ram内存中。

这就是它的工作原理。

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

你必须在卸载操作中添加一些自定义代码,以便在卸载前关闭应用程序

最新更新