读书人

activex打包成cab无法下载网页中直接

发布时间: 2012-01-23 21:57:28 作者: rapoo

activex打包成cab无法下载,网页中直接用dll却可以,怎么回事?
inf内容:
[version]
,signature= "$Chicago$ "
,AdvancedINF=2.0
[Add.Code]
polygon.dll=polygon.dll
[polygon.dll]
,file-win32-x86=thiscab
,clsid={B8F3536A-E9AE-4EC8-ABAD-9E1B359896A7}
,FileVersion=1,0,0,1
,DestDir=10
,RegisterServer=yes

网页内容:
<OBJECT ID= "PolyCtl " CLASSID= "CLSID:CF579B69-0D3B-4CF9-B119-696F8A90CD44 " CODEBASE= "PolyGon.cab#version=1,0,0,1 "> </OBJECT>
<SCRIPT LANGUAGE= "VBScript ">

问题:
在网页中用CODEBASE= "PolyGon.cab#version=1,0,0,1 ",即用cab,在ie中提示无法验证发行者,是否确认安装?点击安装后,没有任何相应,查看WINDOWS\Downloaded Program Files,没有正确下载。
改成CODEBASE= "PolyGon.dll#version=1,0,0,1 ",则能够正常下载,控件能正常使用。奇怪了,怎么回事呢?我还有其他的控件要打包呢,否则我就对付用了。


[解决办法]
如果只有一个dll文件的话,不要inf文件,直接将dll打包。
调用方法就是这样就好了
<OBJECT ID= "PolyCtl " CLASSID= "CLSID:CF579B69-0D3B-4CF9-B119-696F8A90CD44 " CODEBASE= "PolyGon.cab#version=1,0,0,1 "> </OBJECT>
<SCRIPT LANGUAGE= "VBScript ">
[解决办法]
不止一个dll的话你需要在inf文件中将com信息写到注册表里面

你可以下载flash.cab这个包,里面的东西很详细,参考一下。我做的时候就是参考这个做的。

[解决办法]
:D
[解决办法]
现在的cab都需要有数字签名,否则IE直接就不允许下载更不用说安装啦。(我的IE7就是这样,呵呵IE6上还没测试)
建议楼主做数字签名后再试。
[解决办法]
我也碰到了这个问题,做签名也没用

读书人网 >VC/MFC

热点推荐