【发布时间】:2011-05-16 19:41:45
【问题描述】:
我覆盖了OnBeforeUninstall 以阻止我的应用程序的安装项目在某些情况下卸载它,但它似乎只是没有被调用并且没有任何效果。
protected override void OnBeforeUninstall(IDictionary savedState)
{
if (ApplicationIsBusy())
throw new ApplicationException("Prevent uninstall while application busy.");
}
我可以通过覆盖Uninstall 方法来取消卸载,但是到那时安装项目已经关闭了我的应用程序。当我的应用程序忙碌时,我如何“失败”卸载尝试在安装项目在运行时尝试关闭它并中断我的工作进程?
【问题讨论】:
-
尝试在那里写一条跟踪消息:msdn.microsoft.com/en-us/library/… 只是为了检查该方法是否被调用。您可以使用 debugView technet.microsoft.com/en-us/sysinternals/bb896647.aspx 查看跟踪消息
-
也来自 MSDN:“在派生类中重写 OnBeforeUninstall 时,请务必调用基类的 OnBeforeUninstall 方法,以便注册的委托接收事件。”
标签: c# setup-project uninstallation