要实现“web下载的ActiveX控件自动更新”,需要以下几步操作:
1. 创建一个Version.ini文件
在自己的Web服务器上创建一个 Version.ini 文件,该文件包含最新版本的控件信息。其中包含以下信息:
- 最新版本的控件号
- 最新版本的控件下载地址
- 控件可适配的Internet Explorer的版本
以下是一个示例 Version.ini 文件:
[Version]
; ActiveX 控件版本号
Version=1.2.3.4
; 控件下载地址URL
URL=http://www.example.com/MyControl.ocx
; 控件适配的 IE 版本范围
MinIEVersion=7.0
MaxIEVersion=11.0
2. 在Web页面中添加控件升级代码
在需要使用ActiveX控件的Web页面中加入升级代码,用JavaScript来检查用户已安装的控件版本号,与服务器上维护的版本号进行比较,如有需要更新,便启动控制下载控件自动更新的过程。
以下是一个示例代码:
var controlObject = document.getElementById("MyControl");
if (!controlObject.Version || controlObject.Version < "1.2.3.4") {
// 在这里下载并安装最新版本的 ActiveX 控件
var setupObject = new ActiveXObject("MyControl.Setup");
setupObject.DoUpdate();
}
3. 创建版本升级Cab文件
为了让浏览器能够下载并安装控件的升级版本,必须将新版本的控件打包成 .cab 文件。该文件应该包含两个必要的文件: Setup.inf 和一个 .ocx 文件。
以下是一个示例Setup.inf文件:
[version]
; ActiveX控件版本号
Signature=$Windows NT$
LayoutFile=Layout.inf
Provider=%CompanyName%
[DefaultInstall]
; 安装程序信息
AddReg=RegSettings
[RegSettings]
; 注册表项
HKCU,"Software\Example\MyControl", "Version", 0x00010001, 1,2,3,4
HKCR,"CLSID\{00000000-0000-0000-0000-000000000000}\ProgID","VersionIndependentProgID",0x00000000,"%PROGID%"
HKCR,"%PROGID%\Control","",{EAAFC0FF-5BFA-42b7-9F48-62FC672CF9A9}
HKCR,"%PROGID%\Control","(Default)",0x00000000,"%ControlName%"
HKCR,"%PROGID%\CurVer","",(MASControl)
HKCR,"%PROGID%\CurVer\CLSID","",(Default)
[DestinationDirs]
DefaultDestDir=11
[SourceDisksFiles]
MyControl.ocx=1
[SourceDisksNames]
1=%ControlName%
[Strings]
ControlName="MyControl"
CompanyName="Example"
PROGID="MyControl.MyControl.1"
示例说明
下面通过两个实例来详细讲解“web下载的ActiveX控件自动更新”的完整攻略:
示例1:
- 用户在访问页面时,页面会自动检测用户所安装的 ActiveX 控件版本.
- 如果用户的 ActiveX 控件版本号低于服务器上的最新版本号,则页面会自动从服务器上下载升级版本的 ActiveX 控件并帮助用户自动安装新版本.
- 升级版本的 ActiveX 控件是以 .cab 文件的形式提供的.
示例2:
- 用户在访问页面时,页面会自动检测用户所安装的 ActiveX 控件版本.
- 如果用户的 ActiveX 控件版本号低于服务器上的最新版本号,则用户可以手动下载升级版本的 ActiveX 控件并帮助用户自行安装新版本.
- 升级版本的 ActiveX 控件是以 .msi 文件的形式提供的.
在上述两个实例中,示例1采用自动下载和安装方式升级控件,示例2则采用手动下载和安装方式升级控件。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:web下载的ActiveX控件自动更新 - Python技术站