博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
VS2008 ACtivex 制作CAB带 Vcredist_x86.exe 方案
阅读量:6209 次
发布时间:2019-06-21

本文共 1779 字,大约阅读时间需要 5 分钟。

自己写的 OCX或 ACTIVEX需要注册,如果是VS05或VS08开发的,还需要安装相应 的发行包才行

比如;08就需要安装 vcredist08.exe(08); 这个在微软上找或自己的VS安装包中也可以找到
来说说关键的要点;用CAB
需要把我们的开发的OCX和相关DLL打到CAB,同时还要确保客户机上安装 vcredist.exe否则,即使控件安装上了也使用不了的
CAB工具下载
下载后解压到C:\CAB, 然后进CMD, 切换当前路径为 c:\CAB ,操作见下吧
1, cabarc.exe -s 6144 N X.CAB X.ocx X.inf A.dll
意思是: -s 设置大小,6144表示64K, 这个不管它吧
N 表示要创建一个CAB包;
X.CAB 就是生成 的CAB包文件名了
X.OCX即我们的开发的控件文件名了,
X.inf 就是CAB的安装内容,这个有麻烦,放后面说它
A.dll就是我们的控件需要用到的DLL文件,如果有其它的还需要也加在,在后面加空格
一 一加上吧;
2、X.inf 内容
;//下面这三行,照抄就行,主要是版本信息,非特殊不要更改,直接照写就行
[version]
signature="$CHICAGO$"
AdvancedINF=2.0
;//这就是要安装的文件了,包括控件和相关文件
[Add.Code]
X.OCX = X.OCX
A.DLL = A.DLL
;//上面两个是控件所用的
;//下面这行是另外增加的,主要是安装VC发行包(vcredist_x86.exe就是发行包的安装名,见后)
vcredist_x86.exe=vcredist_x86.exe
[X.OCX]
;//指定O.ocx 是从CAB包里获取
file-win32-x86=thiscab
;//x.ocx 的CLASSID信息
clsid={1D73A88F-8621-498F-B7CD-F6485620F3AA}
;//x.ocx文件版本; (就是文件属性里面那个文件版本号)
FileVersion=1,0,0,1
;//是否为自动注册,一般都是需要注册的哟
RegisterServer=yes
[A.DLL]
file-win32-x86=thiscab
;同上了,也可加上版信息
;//
FileVersion = 1,1,1,1
;//这里注意了,发行包安装的信息
[vcredist_x86.exe]
fileVersion=9,0,30729,17
hook=InstallerHook
;//这项并没有设置file-win32-x86的值,因为它并不在CAB里面,这里设置了一HOOK,让HOOK
;//来处理
//发行包的安装来源
[InstallerHook]
;//这里安装默认是在同X.CAB的目录,如果是在网站,可以更改为URL路径
;//如:http://www.x.com/vcredist.cab
file-win32-x86=VCredist.CAB
;//这里就是让CAB自动解压过后,运行CAB包里面的 vcredist_x86.exe
run=%EXTRACT_DIR%\vcredist_x86.exe
配置完毕
这里需要两个CAB,一个是我们的控件 X.cab 另一个是发行包的 VCRedist.CAB 里面只有一个文件 vcredist_x86.cab
( cabarc.exe N VCRedist.cab vcredist_x86.exe ) 运行此命令需设置全路径或切换vcredist_x86.exe所在目录再运行命令
好了,在网页里面,设置控件的 codebase="X.CAB" 安装时会自动下载 vcredist.cab并且安装,但这个是有界面操作的,就是安装的时候需要用户点下一步什么的,并不是安静安装模式。。
另参见MSDN:http://msdn.microsoft.com/en-us/library/aa751974%28VS.85%29.aspx#cabdl

微软的CAB包制作方法:

转载于:https://www.cnblogs.com/memaxiaofeng/archive/2013/04/02/3275498.html

你可能感兴趣的文章
Linux特殊符号及基础正则表达式
查看>>
页面广告飘窗
查看>>
MySQL性能优化的最佳20+条经验 【转】
查看>>
自适应滤波:矩阵求逆
查看>>
SVN--从本地检出项目至服务器报错--禁止访问
查看>>
[LeetCode] Remove Invalid Parentheses
查看>>
3年外包码农近期烦心事
查看>>
如何用Fritzing实现元器件自定义接线图
查看>>
Educational Codeforces Round 37-E.Connected Components?题解
查看>>
4.13.2
查看>>
移动端图片处理
查看>>
使用FIDDER 抓包构建请求
查看>>
Linux误删文件挽救
查看>>
MongoDB整理笔记の体系架构
查看>>
HTML5 Web 客户端五种离线存储方式汇总
查看>>
石子博弈
查看>>
select Option(增加,删除,清空)
查看>>
centos7 mysql数据库的安装与使用
查看>>
四: 使用vue搭建网站前端页面
查看>>
四:DRF项目开发的准备
查看>>