ocx打包cab后网页自动下载安装问题

加菲猫好胖啊 c++程序员  2013-01-24 06:04:02
我把ocx打包成CAB后用公司买的签名工具签名,然后让同事的网页下我的控件CAB自动安装,打开网页能看到一个提示安装的提示框,点"安装"后实际上ocx控件没有注册,这是什么问题?
我觉得可能是我INF文件的问题,怎么排除问题? 下边是我的INF文件,只用注册一个OCX,其他的动态库都不用注册的! 就剩这一个问题,下周一要发布了,很急人, 谢谢大哥们帮帮我,祝好人一生平安!
[/code]
[version]
signature="$CHICAGO$"
AdvancedINF=2.0

[DefaultInstall]
CopyFiles=install.files
RegisterOCXs=RegisterFiles

[RInstallApplicationFiles]
CopyFiles=install.files
RegisterOCXs=RegisterFiles

[DestinationDirs]
install.files=11

[SourceDisksNames]
1=RemDpy.CAB,RemDpy.CAB,1

[Add.Code]
mfc71.dll=mfc71.dll
msvcr100.dll=msvcr100.dll
mfc100.dll=mfc100.dll
CVT_StdToHik.dll=CVT_StdToHik.dll
HCNetSDK.dll=HCNetSDK.dll
PlayCtrl.dll=PlayCtrl.dll
playm4.dll=playm4.dll
RemConfigRes_CHI.dll=RemConfigRes_CHI.dll
StreamTransClient.dll=StreamTransClient.dll
pthreadVC2.dll=pthreadVC2.dll
libPPVClient2.dll=libPPVClient2.dll
libRSMClient.dll=libRSMClient.dll
ShowRemConfig.dll=ShowRemConfig.dll
RangedDisploy.ocx=RangedDisploy.ocx

[install.files]
mfc71.dll=mfc71.dll
msvcr100.dll=msvcr100.dll
mfc100.dll=mfc100.dll
CVT_StdToHik.dll=CVT_StdToHik.dll
HCNetSDK.dll=HCNetSDK.dll
PlayCtrl.dll=PlayCtrl.dll
playm4.dll=playm4.dll
RemConfigRes_CHI.dll=RemConfigRes_CHI.dll
StreamTransClient.dll=StreamTransClient.dll
pthreadVC2.dll=pthreadVC2.dll
libPPVClient2.dll=libPPVClient2.dll
libRSMClient.dll=libRSMClient.dll
ShowRemConfig.dll=ShowRemConfig.dll
RangedDisploy.ocx=RangedDisploy.ocx

[SourceDisksFiles]
mfc71.dll=mfc71.dll
msvcr100.dll=msvcr100.dll
mfc100.dll=mfc100.dll
CVT_StdToHik.dll=CVT_StdToHik.dll
HCNetSDK.dll=HCNetSDK.dll
PlayCtrl.dll=PlayCtrl.dll
playm4.dll=playm4.dll
RemConfigRes_CHI.dll=RemConfigRes_CHI.dll
StreamTransClient.dll=StreamTransClient.dll
pthreadVC2.dll=pthreadVC2.dll
libPPVClient2.dll=libPPVClient2.dll
libRSMClient.dll=libRSMClient.dll
ShowRemConfig.dll=ShowRemConfig.dll
RangedDisploy.ocx=RangedDisploy.ocx

[mfc71.dll]
file-win32-x86=thiscab
DestDir=11
FileVersion=7,10,3077,0

[msvcr100.dll]
file-win32-x86=thiscab
DestDir=11
FileVersion=10,100,30319,1

[mfc100.dll]
file-win32-x86=thiscab
DestDir=11
FileVersion=10,00,40219,325

[CVT_StdToHik.dll]
file-win32-x86=thiscab
DestDir=11
FileVersion=1,0,0,7

[HCNetSDK.dll]
file-win32-x86=thiscab
DestDir=11
FileVersion=4,1,5,3

[PlayCtrl.dll]
file-win32-x86=thiscab
DestDir=11
FileVersion=6,3,0,5

[playm4.dll]
file-win32-x86=thiscab
DestDir=11
FileVersion=1,0,0,1

[RemConfigRes_CHI.dll]
file-win32-x86=thiscab
DestDir=11
FileVersion=2,0,4,0

[StreamTransClient.dll]
file-win32-x86=thiscab
DestDir=11
FileVersion=1,1,1,11

[pthreadVC2.dll]
file-win32-x86=thiscab
DestDir=11
FileVersion=2,8,0,0

[libPPVClient2.dll]
file-win32-x86=thiscab
DestDir=11
FileVersion=2,1,0,0

[libRSMClient.dll]
file-win32-x86=thiscab
DestDir=11
FileVersion=2,1,0,0

[ShowRemConfig.dll]
file-win32-x86=thiscab
DestDir=11
FileVersion=2,0,6,0

[RangedDisploy.ocx]
file-win32-x86=thiscab
RegisterServer=yes
clsid={FD213B1B-99E9-4C11-97C0-AB2F0102D19B}
DestDir=11
FileVersion=1,0,0,1

[RegisterFiles]
%11%\RangedDisploy.ocx
[/code]
...全文
2207 27 点赞 打赏 收藏 举报
写回复
27 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
jamseyang 2015-10-09
file-win32-amd64=thiscab
  • 打赏
  • 举报
回复
池塘码农 2015-04-13
引用 25 楼 xuchenglong1120 的回复:
我在win7 64位下尝试了好久,终于打cab包成功了。真是太不容易了。
怎么做到的?
  • 打赏
  • 举报
回复
xuchenglong1120 2015-03-10
我在win7 64位下尝试了好久,终于打cab包成功了。真是太不容易了。
  • 打赏
  • 举报
回复
纸上张公子 2015-02-04
时隔一年多~ 有人解决了吗 64的cab打包 、、、、没法安装啊!情况跟前面描述雷同
  • 打赏
  • 举报
回复
Leson_Yin 2013-11-28
DestDir=30,\Program Files\webvideo 这个是啥意思???可以把文件解压到指定的目录?? 大神求解。。
  • 打赏
  • 举报
回复
Leson_Yin 2013-11-28
  • 打赏
  • 举报
回复
心灵如水 2013-08-02
64位怎么打cab哈,晕了 file-win32-x86=thiscab 改为file-win32-x64=thiscab ???
  • 打赏
  • 举报
回复
yjweinan 2013-06-28
我也遇到类似的问题,把浏览器安全级别设置了最低,activex也都启用了,但是还不行。页面提示安装了控件,而且注册表注册了。但是还是调用不到OCX里的方法。也去做了签名。唉。蛋疼
  • 打赏
  • 举报
回复
引用 18 楼 xyzhexin 的回复:
请问楼主解决了么?
没有,我打了一个EXE包让用户下的,然后安装
  • 打赏
  • 举报
回复
xyzhexin 2013-04-23
请问楼主解决了么?
  • 打赏
  • 举报
回复
chaucern 2013-02-21
顺序反了,Install时顺序反一下就好了
  • 打赏
  • 举报
回复
fangchao918628 2013-01-25
应该是你的DLL和OCX顺序有关系,这个是按照依赖关系排列的 你的OCX放在最后一个,这个应该是放在最前面的,你要检查下他们的依赖关系! CAB包通过网页访问,这个INF文件不会下载到本地的
  • 打赏
  • 举报
回复
引用 6 楼 lostying 的回复:
给一个我的,这个是可用的,没用MFC的dll是用静态的lib [Version] signature="$CHICAGO$" AdvancedINF=2.0 [DefaultInstall] CopyFiles=FileList RegisterOCXs=RegisterDLL [DestinationDirs] FileList=30,\Prog……
我写的那个INF都没有拷贝文件到System32文件夹下
  • 打赏
  • 举报
回复
无言猪 2013-01-25
给一个我的,这个是可用的,没用MFC的dll是用静态的lib [Version] signature="$CHICAGO$" AdvancedINF=2.0 [DefaultInstall] CopyFiles=FileList RegisterOCXs=RegisterDLL [DestinationDirs] FileList=30,\Program Files\webvideo [FileList] web-video.ocx=web-video.ocx cmsHcApi.dll=cmsHcApi.dll cmsAlarm.dll=cmsAlarm.dll cmsDisp.dll=cmsDisp.dll cmsDdx.dll=cmsDdx.dll cmsDecoder.dll=cmsDecoder.dll cmsNet.dll=cmsNet.dll cmsUtil.dll=cmsUtil.dll cmsFontSmall.dll=cmsFontSmall.dll cmsH264Dec.dll=cmsH264Dec.dll NewMenuConfig.dll=NewMenuConfig.dll [web-video.ocx] file-win32-x86=thiscab clsid={fe7d5a0f-4e25-41b1-8a99-3d9d58f400d2} FileVersion=1,0,0,33 DestDir=30,\Program Files\webvideo RegisterServer=yes [cmsHcApi.dll] file-win32-x86=thiscab FileVersion=1,0,16,10 DestDir=30,\Program Files\webvideo [cmsAlarm.dll] file-win32-x86=thiscab FileVersion=1,0,0,3 DestDir=30,\Program Files\webvideo [cmsDisp.dll] file-win32-x86=thiscab FileVersion=1,0,13,8 DestDir=30,\Program Files\webvideo [cmsDdx.dll] file-win32-x86=thiscab FileVersion=1,0,1,18 DestDir=30,\Program Files\webvideo [cmsDecoder.dll] file-win32-x86=thiscab FileVersion=1,0,4,10 DestDir=30,\Program Files\webvideo [cmsNet.dll] file-win32-x86=thiscab FileVersion=1,0,8,18 DestDir=30,\Program Files\webvideo [cmsUtil.dll] file-win32-x86=thiscab FileVersion=1,0,1,0 DestDir=30,\Program Files\webvideo [cmsFontSmall.dll] file-win32-x86=thiscab FileVersion=1,0,0,1 DestDir=30,\Program Files\webvideo [cmsH264Dec.dll] file-win32-x86=thiscab FileVersion=2,1,0,3 DestDir=30,\Program Files\webvideo [NewMenuConfig.dll] file-win32-x86=thiscab FileVersion=1,0,1,10 DestDir=30,\Program Files\webvideo [RegisterDLL] %30%\Program Files\webvideo\web-video.ocx
  • 打赏
  • 举报
回复
求大侠帮帮忙,救命啊!!!
  • 打赏
  • 举报
回复
引用 2 楼 lostying 的回复:
你直接把cab包在同事电脑上解压,然后用regsvr32 手动注册看能成功不,如果不能成功就看是不是缺少依赖的DLL或者是win7 vista的权限不够.如果注册能成功,你就看IE的安全设置选项.
手动能注册上,这个CAB不是自动安装的吗? 我的问题是 : 打开网页后发现控件没有注册
  • 打赏
  • 举报
回复
引用 1 楼 xumaojun 的回复:
以前做过cab打包,看看我资源的打包工具吧,说明挺详细的。猜测应该是配置注册的文件问题,如果ocx本身可以注册的话。
恩,可以!我测试的时候就是本机手动注册,用MFC调的.使用时正常
  • 打赏
  • 举报
回复
无言猪 2013-01-25
你直接把cab包在同事电脑上解压,然后用regsvr32 手动注册看能成功不,如果不能成功就看是不是缺少依赖的DLL或者是win7 vista的权限不够.如果注册能成功,你就看IE的安全设置选项.
  • 打赏
  • 举报
回复
引用 15 楼 Garfiel_C 的回复:
引用 14 楼 fangchao918628 的回复:你用Depends打开OCX看有没有缺少依赖的DLL 没有,手动(regsvr32)能注册上
是不是还要关联一个注册用的BAT文件?
  • 打赏
  • 举报
回复
引用 14 楼 fangchao918628 的回复:
你用Depends打开OCX看有没有缺少依赖的DLL
没有,手动(regsvr32)能注册上
  • 打赏
  • 举报
回复
加载更多回复
相关推荐
发帖
ATL
加入

3220

社区成员

ATL,Active Template Library活动(动态)模板库,是一种微软程序库,支持利用C++语言编写ASP代码以及其它ActiveX程序。
申请成为版主
帖子事件
创建了帖子
2013-01-24 06:04
社区公告
暂无公告