1.
打包
将ocx控件及DLL等依赖文件打包成CAB。
(1)打包前,先建立一个inf文件以提供安装信息,inf文件的结构如下:
[version]
signature="$CHINA$"
AdvancedINF=2.0
[Add.Code]
WebVideoActiveX.ocx=WebVideoActiveX.ocx
midas.dll=midas.dll
……
[WebVideoActiveX.ocx]
file-win32-x86=thiscab
RegisterServer=yes
clsid={FA90127B-CF0D-4B63-B327-5221B108285C}
DestDir=11
FileVersion=2,0,0,0
[midas.dll]
file-win32-x86=thiscab
RegisterServer=yes
DestDir=11
FileVersion=7,0,4,453
……
其中,[version]和[Add.Code]项是必须的,[version]为该inf文件的版本信息,[Add.Code]是需要安装的控件和依赖文件,格式如上;后面的是每个安装文件具体信息,包括:FileVersion文件版本、DestDir安装目录(11即默认的system32目录)、RegisterServer是否需要注册、file-win32-x86代表x86平台、thiscab意指包含该INF的CAB文件、clsid是控件的CLSID。
(2)使用Windows自带工具IExpress(system32下)进行CAB包制作:
将inf文件、ocx控件文件、DLL等依赖文件全部添加进去,注意选中 “Store files
using Long File Name inside Package”。
2.
页面嵌入
使用<object>标签进行嵌入,格式如下:
<OBJECT ID="CPServer"
CLASSID=" FA90127B-CF0D-4B63-B327-5221B108285C "
HEIGHT=0 WIDTH=0 ALIGN=LEFT
CODEBASE="ocx /evS1300.cab#Version=2,0,0,0">
</OBJECT>
其中:CLASSID为ocx控件的CLSID,CODEBASE为该控件(cab)的存放位置,version为控件的版本号(即ocx文件的版本)。
3.
版本升级
若要对控件进行升级,需将更新的文件重新打包,并更新inf中相应文件的版本号,以及网页中嵌入控件(codebase中)的版本号。
这样,用户在重新打开页面时,即可自动升级安装控件。
4.
使用说明
在客户端,对于未签名的ActiveX控件,需要对IE进行相关设置才可以下载并自动安装。
在【Internet选项>安全>Internet>自定义级别>ActiveX控件和插件】下:将【下载未签名的ActiveX控件】改为提示或启用。
或先将相应网址加入信任区域,对信任区域的安全进行以上设置。
http://blog.csdn.net/qcdn/article/details/2156655
http://zhanyonhu.blog.163.com/blog/static/1618604420083308494707/