实验:网页CAB控件打包和下载

/**

* note

* 带上系统有的Dll, 比如mfc42.dll, msvcrt.dll, ssleay32.dll, libeay32.dll等,

* 实验表明, 如果系统中的Dll和CAB中的Dll版本不同, 会导致CAB中的ocx下载后,注册不上.

* 如果CAB中不自带这些Dll, 有潜在问题. 当CAB中的ocx, exe, dll依赖特定版本的系统Dll时,程序运行不正常.

* 解决方法(需要验证): 在.inf中指定每一个文件的FileVersion, 用本地的测试网页测试,看是否运行正常.

*/

 

我缺张证书, CAB没有进行签名, 测试页面运行后, 执行ocx中的方法失败, 在IE的加载项中没有看到MainOcx.ocx, ocx没有注册上.

只能换个测试环境,再研究了. 或者先写最简单的单ocx, 然后慢慢加入其他的exe, dll, 再做实验。

 

手头有个demo的CAB是好的,在我的PC上也不行.

 

参考资料:

http://hi.baidu.com/flfboy/blog/item/9e4ca512d36500c7c3fd789b.html

 

改变下载的路径

http://topic.csdn.net/t/20020814/17/940677.html

 

实验还没做通, 在刚装好的Xp + vmware, 不能正常的下载. IE设置安全级别已经设定, 安全站点已经把lcoalhost和127.0.0.1加入了.

感觉还是inf写的有问题,已经调整了inf中文件的加入的顺序.

 

实验一下对mfc的dll也加入RegisterServer=yes. 和下载的路径到系统文件绝对不可能存在的路径.

 

实验确定, 是inf写的不对. 从百度文库上找了一篇资料, 搞定. 这篇资料好的地方是, 可以把cab内的文件解压到system32目录下的子目录下, 这就避免了和系统Dll冲突的可能性.

 

只要inf写对了, 不签名降低安全级别也能运行.

最后正确的inf如下:

html测试代码

运行效果

工程下载点:

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值