您的位置:首页 > 其它

IE自动下载安装OCX方法

2009-02-04 14:12 381 查看
【问题的提出】
BCB或VC***的OCX,希望不用手工在客户端注册,就可以在网页里面自动下载、注册、使用。

【资料】
在MSDN上查找“Packaging ActiveX Controls”,可以找到详细的配置及步骤。

完整URL:
ms-help://MS.MSDNQTR.2003FEB.2052/activex/workshop/components/activex/packaging.htm

另一中文资料--“升级现有的 ActiveX 控件”,完整URL:
ms-help://MS.MSDNQTR.2003FEB.2052/vccore.html/_core_Upgrading_an_Existing_ActiveX_Control_to_be_Used_on_the_Internet.htm

【实现步骤】
1、从MSDN的资料库中,取得“CABinet SDK”软件包,这是一个自解压的文件,将此文件解压缩到
用户指定的目录下,该目录下有个BIN目录,就是打包工具的目录。

2、将要打包的OCX文件(后缀可以是.ocx或.dll),放到BIN下面,备用。

3、手工编写inf文件,由于测试用的ocx只有单独的一个ocx文件,没有特殊的依赖文件,所以inf
文件只包含ocx一个文件;如果要包含依赖文件,请参照MSDN资料里面的说明,补充对依赖文件的
申明。
inf文件内容如下:
[version]
signature="$CHICAGO$"
AdvancedINF=2.0
[Add.Code]
eSafeDev.dll=eSafeDev.dll
GetDevID.dll=GetDevID.dll ← ocx依赖文件定义
[eSafeDev.dll]
file-win32-x86=thiscab
clsid={93E15037-E58D-44F1-9DE2-76ED9F4952A1}
FileVersion=1,0,0,1
RegisterServer=yes
[GetDevID.dll] ← ocx依赖文件详细情况
file-win32-x86=thiscab ← 标明依赖文件包含在这个cab里面
FileVersion=1,0,0,1 ← 依赖文件版本号,无版本号时,此行不加

4、在命令行方式进入BIN目录,在其中执行打包命令后,此目录下生成cab文件。
命令如下:
cabarc n *.cab *.ocx *.inf *.dll

5、发布cab文件,把cab文件放在Tomcat的Webapps/ROOT/下,启动Tomcat。

6、编写HTML测试页面,加载此ocx,观察下载、安装、加载运行的过程。Enjoy it!
HTML测试页面代码如下:
<html>
<head>
<title>控件测试</title>
<meta http-equiv="目录类型" content="文本/html" charset="gb2312">
<SCRIPT language="JavaScript">
<!--

function j_pkgGetTxt(src, flag) {
var sret = "";
var n = src.indexOf("^" + flag);
if (n < 0) return sret;
var tmp = src.substring(n + 3);
n = tmp.indexOf("^");
if ( n==0 ) sret = " ";
else
sret = n > 0 ? tmp.substring(0, n) : tmp;
return sret;
}

function get_Serial() {
var sRet="";
var rc = 0;
var sno = "";

sRet = JT_COMM.SerialNo();
alert("调用接口返回 = " + sRet);

rc = j_pkgGetTxt( sRet, "RT" );
if ( rc!=0 ) {
alert("取序列码失败!");
return;
}
sno = j_pkgGetTxt( sRet, "SN" );
alert( "序列码 = " + sno );

return(sRet);
}

-->
</script>

</head>
<body bgcolor="#FFFFFF" leftmargin="20" topmargin="0" marginwidth="0" marginheight="0" >
<div id="Layer1" style="position:absolute; left:482px; top:343px; width:137px; height:145px; z-index:1">
<object codebase="http://192.168.11.73:8080/JTCommon.cab" classid='clsid:2422315D-EB47-4468-B1FE-3CA848DA7DDE' id='JT_COMM' width='0' height='0' hspace=0 vspace=0>
</object>
</div>
<form name="form1" >
<p>简单功能测试</p>
<p>
<input type="button" name="Submit32" value=" 取序列码 " onclick=get_Serial()>
</p>
</form>
<p> </p>

</body>

</html>

在IE中打开此页面后,首次加载此控件,会有一段时间的下载、安装过程,IE的状态栏会有提示,
系统自动下载、安装完成后,可以点击页面的按钮来测试控件的功能。
OCX控件安装在C:/WINDOWS/Downloaded Program Files/目录下。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: