在sys shutdown或logoff时卸载组件

时间:2016-05-06 08:33:06

标签: c# winforms uninstall shutdown logoff

我们在.Net中创建了组件并安装在用户系统中。我们能够在Installler类的Uninstall方法中创建一个表单并调用相同的方法,以便在用户尝试从控制面板卸载时提示输入密码。我们在msi(安装)文件创建期间添加了exe(其中包含已实现的Installer类和使用Uninstall重写方法编写的自定义代码)作为自定义操作。

使用此msi文件进行安装会成功安装组件,当用户尝试从控制面板卸载时,系统会根据需要提示输入密码,只有在密码正确时才会卸载,否则会导致异常并且卸载过程不成功。

我们面临的一个问题是,当用户尝试卸载并显示表单时,当用户尝试关闭或注销时,即使没有提供密码,它也会自动关闭表单并卸载组件。我们试图检查它是否是强制关闭并引发正常异常(也尝试过InstallerException)仍然会卸载程序。

请帮忙。

1 个答案:

答案 0 :(得分:0)

您可以使用Form.Closing活动。 当表单关闭且凭据错误时,您可以中断卸载过程。