cab包(active插件)的加载解决方案

来源:互联网 发布:淘宝退货红包退吗 编辑:程序博客网 时间:2024/04/27 22:36
cab包(active插件)的加载解决方案 
由于没有做过底层开发,学的操作系统知识也几乎忘记完了;在所维护的项目中碰到的关于CAB加载问题真是让我很是头疼了一把,在不断摸索中也找到了一些问题的原因及解决方案,不代表权威专业仅供参考。 
一、确定CAB的打包正确,打包的方式在网上随便都能找到;但要确定的包正确,如果在起点摔倒,已经丧失了“全程”的主动性,开始我们打的包就不好使。 
二、设置IE的安全级别,默认的情况是禁止很多插件加载的。 
1.正式库为可信任站点: 
【IE】—>【工具】—>【Internet选项】—>【安全】—>【可信任站点】 

说明: 
a.) a 【站点】打开一窗口,里面输入cab包所在的服务器的地址,然后确定。 
b.) 【自定义级别】中所有关于ActiveX的都设置为“启用”或者“提示”,同时将安全级别设置到最低,然后点确定。 
2. 参照上面“1”中的将【Internet】中【自定义级别】如上面“b”中设置,因为图太大,在此省略。 
三、在打开页面过程中如果碰到如下类似提,都要选择安装。 


四、【IE】【工具】【管理加载项】【启动或禁用加载项】 

看是否你需要的插件被禁止加载,如果是你可以选中后点“启用”加载该插件,重启加载一次。 
五、根据页面中cab包加载的代码中,classid中的字符串标识,在注册表中搜索一下,看看些标识有没有写入到注册表;如果已经写入了,说明是包里面的ActiveX没有被成功加载,你可以手动解压CAB包,把里的插件手动COPY到C:\WINDOWS\system32(也可能是否C:\WINDOWS\system看你的打包文件了)目录下,先后重启一下IE试一下,有时候重启一下机器也可能会解决。 

六、就我们项目中的插件而言,除个上述原因外;本身和自身的硬件与操作系统也有关联,特别大多数的操作系统为了减少安装时间或者根本没有破解好,缺了很多底层系统支持文件才导致我们的部分插件无法打入;如果是这种原因引起的可以通过下面方式查看一下。 
【我的电脑】【管理】【事件查看器】【系统】:如果插件没有加载成功,在右边会生成很多"红叉" 事件提示,双击打开看以看到里面的描述信息,发生这个事件的原因;看心打开里面的链接看更多的信息。如果不清楚还可以从更多信息中的“来源”的值在百度上搜索一下,看看缺少什么支持文件,下载就应该没有什么问题了,这也是我们用到的解决方法,研究不深,如果有兴趣可以详细帮我解释一下,不胜感激。 


七、另外建议研究一下这个C:\WINDOWS\Downloaded Program Files文件夹,好像也和加载有关系,没有研究过,如果清楚插件的具体过程可能知道,可惜我不太清楚,感兴趣的可以搜一下,如果有收获不妨共享一下。 

八、版本控制:同一个版本号下的的东西如果修改后,不会自动升级,许多软件更新版本号都会有所改变,这点大家都明白。 
<object id=”ReadCard” classid=”xxxx” codebase=”/xxx/…/xx.CAB#version=1.0.0.0”>中的 
#version=”1.0.0.0”就是版本号,更新后的版本号一定要比当前的高,越改越小的,没有见过,也没有试过。当前如果要升级版本可以是#version=”1.0.0.1”或者#version=”2.0.0.0”总之高于当前版本即可。 

附: 
1. 在【命令】行中手动注册插件命令是:regsvr32  插件名称 
                     删除插件命令是:regsvr32 /u 插件名称 
2. 清除C:\WINDOWS\system32下面的一些已经打入的插件用的批处理命令,保存.bat格式。 
del C:\windows\system32\xxxx.dll 
del C:\windows\system32\ xxxx.dll 
del C:\windows\system32\ xxxx.dll 
pause 
说明:将xxxx.dll文件改成你要清理掉的插件名称,然后将上面保存到记事本中保存成*.bat的格式就可以了。
原创粉丝点击