网页调用Activex实现,ocx封装成cab文件

来源:互联网 发布:算法基本特征 编辑:程序博客网 时间:2024/05/16 15:56

说明 

       首先说下为什么要把ocx控件打包成cab文件,这是因为ocx控件,需要用户单独下载,然后自己通过resiger命令,在cmd中注册,这对于小白用户,显然不太显示,所以就需要打包成cab文件,由网页作为ActiveX控件自动的下载注册,这样用户使用起来就轻松了多。

OCX打包CAB并过程(打包cab后可以在加入自定义签名)
制作cab文件时需要将所有的相关文件都包含进去,可以通过Depends(VC自带的)检查需要的文件。使用inf文件将这些东西都写进去。

1、制作inf文件

setup.INF
最开始一般是[Version]区:
eg: [Version]
signature=" $CHICAGO$ "
AdvancedINF=2.0
接下来就是最重要的[Add.Code]区:
eg: [Add.Code]
getcertocx.ocx=getcertocx.ocx
前面是要下载的文件名,后面是对应这个文件的区域名,可以是任何名字,不过一般都是和文件的名字相同,这样方便维护。
再接下来是各个文件的区域了
[getcertocx.ocx]
file-win32-x86=thiscab
RegisterServer=yes
clsid={0A0488CF-F9AB-4AC4-AD8F-CD893553DD22}
DestDir=11
FileVersion=1,0,0,1
[getcertocx.ocx]区域中的第一个file值告诉ie到哪里去得到这个ocx,file一共包括三个部分,第一部分是file,这个永远都是这样的;第二部分告诉声明支持的OS,win32表示windows,mac就是苹果MAC OX了;第三部分是CPU类型,比如说x86、mips等
file的值可以取三个:一个URL、ignore和thiscab,如果是URL则说明到URL所在的位置去下;如果是ignore说明对于这种OS和CPU,不需要下载这个文件;如果是thiscab就在当前的cab文件中了。
第二部分是RegisterServer,可以取两个值yes和no,如果为yes则说明ie要注册该ocx,如果是no就不必了;
接下来是clsid,需要填写该ocx的class guid。
再下来是DestDir,它的值是ocx将要存到本地硬盘的位置,如果它的值是10,则将ocx放到\Windows或者\WinNT下;如果是11,则放到\Windows\System或者
\WinNT\System32下;如果是空(就是没有值)则会放到\Windows或者\WinNT下的Downloaded Program Files目录下;
最后是FileVersion,说明了ocx的版本号。

[version] ; version signature (same for both NT and Win95) do not remove signature="$CHICAGO$" AdvancedINF=2.0 [Add.Code] FerlyOcx2005.ocx=FerlyOcx2005.ocxlibFLAlgJniCall.dll=libFLAlgJniCall.dll setup.inf=setup.inf [install.files] FerlyOcx2005.ocx=FerlyOcx2005.ocx libFLAlgJniCall.dll=libFLAlgJniCall.dllsetup.inf=setup.inf [FerlyOcx2005.ocx] clsid={E962EB9D-583C-449D-AE47-1F0C389C0031} file-win32-x86=thiscab FileVersion=1,0,0,1 DestDir=11 RegisterServer=yes[libFLAlgJniCall.dll]file-win32-x86=thiscab      RegisterServer=no      DestDir=11[setup.inf] file=thiscab [RegisterFiles] %11%\FerlyOcx2005.ocx ; end of INF file 

2、制作cab文件

利用iexpress.exe(windows提供的一个向导式cab制作工具)
 
选“创建新的自解压缩指定文件”,点“下一步”。
 
选“仅创建压缩文件(ActiveX安装)”,点“下一步”。
 
点“添加”将上边制作好的setup.inf和getcertocx.ocx文件添加进来,点“下一步”。
 
点“浏览”输入要生成的CAB文件名称,并选中“在软件包中使用长文件名保存文件”,之后点“下一步”。
 
选“不保存”,点“下一步”。
 
点“下一步”。
 
点“完成”退出向导,cab文件生成。
 


1 0
原创粉丝点击