`
ileson
  • 浏览: 211105 次
  • 性别: Icon_minigender_1
  • 来自: 河南省
社区版块
存档分类
最新评论

ocx 打cab包发布

阅读更多
打包工具有多种,我用的是cabarc这个工具。

一:概要过程

1、将ocx生成  (xxxx.ocx)

2、写inf 文件 (xxx.inf)

[version]   
signature="$Chicago$"  
AdvancedINF=2.0  
  
[Add.Code]   
xxxx.ocx=xxxx.ocx  :我的ocx 文件
001.dll=001.dll    :依赖的dll文件  
002.dll=002.dll
……                  :可以有N个全部列出来。
my.ini=my.ini      :配置文件
     
[xxxx.ocx]   
file=thiscab   
clsid={94DABAE1-E5CA-4A30-9C4B-6FBCC76824F2}   :控件的clsid,在odl文件找
FileVersion=1,0,0,1                            :文件版本号,右键控件属性
RegisterServer=yes                             :注册成系统服务。

[001.dll]   
file-win32-x86=thiscab   
RegisterServer=no   :不注册
DestDir=11         :将此文件解压的目标路径。这只是个代号。具体啥意思,网上查。
FileVersion=7,0,3,4

[my.ini]
file-win32-x86=thiscab   
RegisterServer=no   
DestDir=11  


3、将文件打包成cab压缩包。
cabarc -s 6144 N MyTest.cab xxxx.ocx xxx.inf 001.dll …… my.ini 

cabarc -r -p -s 6144 N MyTest.cab *    // 将执行该命令的目录下的所有文件及文件夹里的文件打包。

cabarc -s 6144 N YDCard.cab *    //将执行该命令的目录下的所有文件打包。

我写成了批处理:
@echo on
set cmddir=d:\makeCAB  ::定义一个命令目录的变量。
%cmddir%\cabarc -s 6144 N MyTest.cab xxxx.ocx xxx.inf 001.dll 002.dll  my.ini
pause


4、将打包成的MyTest.cab 放到web 项目里。

5、客户端浏览器会自动下载。

PS:至于签名神马的,先不管它。又臭又长。作用也不大(一家之言)
二:过程中遇到的问题

1、如果ocx依赖的dll 很多,我想把这些dll 分门别类的分别 存到 system32/001/ 和 system32/002/ 的目录下。。如果实现??? 请高手 指点 !!!
     这里有个连接,但没有例子,没看懂,有看懂的请留言(qq:278952725)。blog:http://blog.csdn.net/wangyouxiu/archive/2008/07/29/2728507.aspx

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics