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/目录下。
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/目录下。
相关文章推荐
- IE自动下载安装OCX方法收藏
- 下载后自动打开(更改IE下载文件后的默认处理方法)
- 关于从WEB服务器自动下载安装可执行性文件的方法
- ocx自动下载安装
- JSP页面自动下载cab包安装Active-ocx-dll控件,前端后端实现
- dll ocx cab IE 自动安装
- Android客户端apk自动检测更新自动下载自动安装的实现方法
- ie6和ie7同时安装在一台电脑上的方法(附 IE 7.0 BETA3 绿色免安装版下载)
- 解决IE下载DOCX文件时自动变为ZIP的方法
- 取消ie的active控件不再询问总是信任自动下载安装的设置
- Android编程实现应用自动更新、下载、安装的方法
- Google出品的自动Web安全扫描程序 Skipfish 下载及安装使用方法
- HTML5打开本地app应用的方法,如果你的手机上安装App,就会自动打app,否则在页面上会提示你进行下载app
- centos wget 下载 安装 jdk 的方法
- ie实现自动下载示例
- WinXPSP2 2007增强安装版[最强大的自动安装版本] 下载
- 详解Linux安装GCC方法(下载、解压缩、安装、卸载)
- 安卓中实现如何让下载好的apk自动进入安装界面
- 用户登录桌面时自动跳转到官方下载Plugin的处理方法