0

我以本教程http://haseebakhtar.wordpress.com/2011/05/31/creating-an-activex-control-in-net-using-c/中描述的方式创建了 ActiveX 控件及其 .msi 安装程序。然后我使用这个安装程序安装了那个 ActiveX 控件并尝试在 IE9 中执行它。安装很顺利。之后,我在 Web 浏览器中完成了我的组件的出色工作。

下次我再次运行安装程序以卸载该组件。似乎一切都很好,因为我在卸载组件时没有任何错误,并且安装文件夹已从光盘中删除。但随后我可以看到,只要我在 IE 中重新加载页面,activeX 控件就会继续执行。起初我以为 IE 已经缓冲了它,然后我决定清除所有浏览历史记录。但这没有帮助。我还重新启动了 IE 和我的网络服务器,但这并没有做出任何改变。ActiveX 控件仍在工作。

我的问题:

1)如何以正确的方式卸载它?

2) 如果我想查看我所做的任何更改,我是否应该在任何时候卸载并安装我的 activeX 组件?有没有更简单的方法来查看我在 IE 中的工作结果?

4

1 回答 1

0

卸载控件后,在文件系统中搜索其 DLL,并在注册表中搜索其 GUID。如果 GUID 仍然注册,这意味着卸载程序没有正常工作。如果您在卸载过程中打开了网页,DLL 仍然可能存在(因为网页会保持 DLL 加载)。但是,它应该在重新启动后消失;如果不是,那又是 MSI 脚本的问题。

请注意,您可以在没有 MSI 的情况下由 IE 自动安装您的控件,前提是该控件仅使用 HKEY_CURRENT_USER 配置单元进行注册,这里是如何。虽然,您需要对您的控制包进行数字签名才能发生这种情况,这始终是一个好主意。

于 2013-08-08T00:44:41.913 回答