运行windows卸载程序时关闭应用程序
问题描述:
我有一个C#应用程序。除此之外的所有工作正常:运行windows卸载程序时关闭应用程序
当我从添加/删除程序中卸载应用程序时,如果应用程序未关闭,它将在卸载后保持打开状态。
对于无法读取隐含问题的人......“如何在卸载时使应用程序关闭?”。
如果您需要任何详细信息,请询问。
答
也许它是开放的,因为它是在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
}
该类'卸载方法将在用户卸载您的应用程序时执行。
在此方法中,您可以选择正在运行的进程列表并杀死应用程序的所有活动实例。
+0
使用点击一次安装...没有为它创建一个特殊的安装程序。但我会试一试:) Ty。 – zozo 2011-05-05 13:35:24
答
这就是它的工作原理。
卸载将其从磁盘而不是从内存中删除。
你将不得不一些自定义代码添加到卸载操作,以获取应用程序卸载之前关闭
也许,我们要问的东西之前,你** **应该这样做。你错过了一个问题! – 2011-05-05 13:27:09
如果应用程序仍在运行,您可以正确卸载它吗?我不认为.exe被删除。 – Gabriel 2011-05-05 13:33:05
它被删除。唯一的问题是它在某处仍然存在。我不能成为某种倾听者吗?当X打开时添加/ rem prg关闭它? – zozo 2011-05-05 13:46:16