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

C# 运行windows卸载程序时关闭应用程序,c#,windows,visual-studio,visual-studio-2010,uninstallation,C#,Windows,Visual Studio,Visual Studio 2010,Uninstallation,我有一个C应用程序。除此之外,所有工程均正常: 当我从“添加/删除程序”卸载应用程序时,如果应用程序未关闭,卸载后它将保持打开状态 对于那些看不懂隐含问题的人。。。如何使应用程序关闭?卸载时 如果您需要任何详细信息,请询问。可能它是打开的,因为它位于ram内存中。只需关闭它。在您的安装程序项目中,我假设您已经使用Visual Studio中的安装程序项目生成了MSI安装程序,您应该包含一个从安装程序基类继承的类: [RunInstaller(true)] public class MyInsta

我有一个C应用程序。除此之外,所有工程均正常:

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

对于那些看不懂隐含问题的人。。。如何使应用程序关闭?卸载时


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

可能它是打开的,因为它位于ram内存中。只需关闭它。

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

[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
}
当用户卸载应用程序时,将执行此类的卸载方法


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

这就是它的工作原理

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


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

也许,在我们询问问题之前,您应该这样做。你错过了一个问题!如果应用程序仍在运行,您能否正确卸载该应用程序?我不认为.exe被删除了。它被删除了。唯一的问题是它仍然在ram中的某个地方。我不能成为一个倾听者吗?当X打开add/rem prg以关闭它时?使用单击一次安装。。。没有为它创建特殊的安装程序。但我会试试看:泰。