1

我们有在 .Net 中创建并安装在用户系统中的组件。当用户尝试从控制面板卸载时,我们能够创建一个表单并在 Installer 类的 Uninstall 方法中调用它来提示输入密码。我们在 msi(设置)文件创建期间添加了 exe(实现了 Installer 类并在 Uninstall 覆盖方法中编写了自定义代码)作为自定义操作。 

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

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

请帮忙。 

4

1 回答 1

0

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

于 2016-05-06T08:43:49.313 回答