运行 Windows 卸载程序时关闭应用程序
Posted
技术标签:
【中文标题】运行 Windows 卸载程序时关闭应用程序【英文标题】:Close application when running windows uninstaller 【发布时间】:2011-08-19 09:34:27 【问题描述】:我有一个 C# 应用程序。除了这个,一切都很好:
当我从添加/删除程序中卸载应用程序时,如果应用程序未关闭,卸载后它将保持打开状态。
对于那些看不懂隐含问题的人...“我怎样才能让应用程序关闭?卸载时?”。
如果您需要任何详细信息,请询问。
【问题讨论】:
也许,在我们提出问题之前,你应该这样做。您错过了一个问题! 如果某个应用仍在运行,您能否正确卸载它?我认为 .exe 没有被删除。 已删除。唯一的问题是它保留在某个地方的 ram 中。我不能做某种听众吗? X 什么时候打开 add/rem prg 来关闭它? 【参考方案1】:这就是它的工作原理。
卸载会将其从磁盘中删除,而不是从内存中删除。
您必须在卸载操作中添加一些自定义代码才能在卸载前关闭应用
【讨论】:
【参考方案2】:在您的安装程序项目中(我假设您已经使用 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
当用户卸载您的应用程序时,将执行此类的 Uninstall 方法。
在此方法中,您可以选择正在运行的进程列表并终止应用的所有活动实例。
【讨论】:
已使用单击安装...没有为其创建特殊安装程序。但我会试一试:) Ty.【参考方案3】:也许它是打开的,因为它在 RAM 内存中。关掉就好了。
【讨论】:
以上是关于运行 Windows 卸载程序时关闭应用程序的主要内容,如果未能解决你的问题,请参考以下文章
通过 Windows 10“设置”应用程序和旧版控制面板卸载应用程序有啥区别? [关闭]