关于CAB的打包问题

VB制CAB包实战
 
工具 cabsdk
 关于cab打包 个人认为在书写inf文件时最容易出问题 问题出了也很难调试 找了满多方法
 最后看有网友使用 vb工具 Package & Deployment向导做了一个cab包 按照其方法 最后做成功了
 方法如下:
   
如果要在WEB页面上使用控件,则控件需要打成CAB类型的包。上网找了一个打CAB包的工具,名字叫IExpress。不过如果用这个工具打包需要手工编写INF文件,INF文件的结构比较复杂,手工编写容易出现错误。想了一下,觉得VB自带的打包工具可以制作CAB文件包。不过VB的打包工具开始必须选择一个VB的工程。所以用VB建了一个跟控件名称一样的工程,编译了一下,然后用VB自带的工具进行打包,打包的类型选择Internet类型的安装包。到选择文件这一步的时候,要将多余的文件去掉,因为这个第三方控件不是VB编写的,所以根本不用带VB的运行库。将第三方控件的主控件DLL和两个附属的DLL都加到包中,然后开始打包。
 
包打完之后写了个测试页,在本机上试了一下没有问题(因为本机已经安装了控件),所以在其他的机器上测试了一下,不能正常安装控件,页面上显示一个红叉。查看IE临时文件夹下的控件安装日志文件,内容显示控件不能正常注册。到网上查找了一些资料,没有找到原因。后来用VC自带的Dependency Walker工具查看了一下控件的DLL,发现里边还包含了另外三个DLL,分别为:msvcr71.dll、msvcp71.dll、mfc71.dll。将这三个文件也加进了包里,测试之后,一切正常。
 
按照以上的方法 我制作了一个安装包 但我自以为是的把包解开后 直接安装inf文件 发现文件被拷贝 但ocx控件没有被注册 开始以为是inf文件有问题 最后自己写了个小测试网页 竟然可以注册 难道只有在cab被IE调用时才会对ocx等文件今行regsvr32注册么 搞不懂 呵呵 不过怎么来说cab包是打好了。还有就是关于是否有缺少的dll问题 上边提到的Dependency Walker 是一个很不错的工具 如果发现你的ocx不能注册 也需要查查看是否缺少了某些dll
 
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值