我们有在 .Net 中创建并安装在用户系统中的组件。当用户尝试从控制面板卸载时,我们能够创建一个表单并在 Installer 类的 Uninstall 方法中调用它来提示输入密码。我们在 msi(设置)文件创建期间添加了 exe(实现了 Installer 类并在 Uninstall 覆盖方法中编写了自定义代码)作为自定义操作。
使用此 msi 文件进行安装可以成功安装组件,当用户尝试从控制面板卸载时,系统会根据需要提示输入密码,并且只有在密码正确时才会卸载,否则会引发异常并且卸载过程不成功。
我们面临的一个问题是,当用户尝试卸载并显示表单时,当用户尝试关闭或注销时,即使没有提供密码,它也会自动关闭表单并卸载组件。我们尝试检查它是否是强制关闭并引发正常异常(也尝试过 InstallerException),但程序仍在卸载。
请帮忙。