繁体   English   中英

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

[英]Close application when running windows uninstaller

我有一个 C# 应用程序。 一切正常,除了这个:

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

对于那些看不懂隐含问题的人......“我怎样才能让它关闭应用程序?卸载时?”。

如果您需要任何详细信息,请询问。

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

[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
}

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

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

也许它是打开的,因为它在 ram memory 中。 关闭它。

这就是它的工作原理。

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM