使用msi安装程序安装的ActiveX控件

时间:2013-08-07 09:05:34

标签: c# visual-studio-2010 windows-installer activex

我以本教程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中工作的结果?

1 个答案:

答案 0 :(得分:0)

卸载控件后,在文件系统中搜索其DLL和注册表以获取其GUID。如果仍然注册了GUID,那就意味着卸载程序无法正常工作。如果你在卸载过程中打开了你的网页(因为网页会加载DLL),DLL仍然可以存在。但它应该在重启时消失;如果不是,那将再次成为MSI脚本的问题。

注意,如果控件仅使用HKEY_CURRENT_USER配置单元进行注册,您可以在没有MSI的情况下自动安装控件,此处为how。虽然,你需要digitally sign你的控制包来实现这一点,无论如何这总是一个好主意。