这两天客户需要用IE去打开USB摄像头,要求兼容IE6以上的版本,最后选择的是ActiveX控件方案。
功能开发完毕,如何让用户安装ActiveX控件遇到点问题。
最初部署ActiveX的方案,是先生成msi文件,然后再包一层cab,并加上数字签名,在html中用object的codebase中载入。
在ie10和ie11下跑了一下,情况如下:
用普通用户打开ie,虽然提示了安装ActiveX控件,但实际上,并没有安装成功。(如果安装成功,可以从控制面板中看到)
用管理员打开ie,提示安装ActiveX控件,安装之后,也可以安装成功。但是刷新页面后,还会提示安装ActiveX控件,并且控件无法正常显示。此时换用普通用户打开ie,可以看到ActiveX控件呗正常加载。
在ie8跑了一下,可以正常工作。
(以上测试都是在ie32位下跑的)
弄了两天一直没解决,最后只好换做最简单的方式,提供一个链接,供用户自己下载,手动安装。虽然不人性化,但总算没办法的办法吧。
这期间也遇到一个我到现在也没明白的问题。把注册控件写成一个exe,如果压缩成rar,用<a>去下载,总是把rar当成一个页面。后来,灵光一闪,压缩成zip,就能正常下载了。不知道整个网站里面,做了些什么设置。