`

OCX打成CBA包并实现自动安装与自动升级

阅读更多
近来手上有个项目,需要使用ocx控件
(ocx是什么? http://baike.baidu.com/view/393671.htm)
在生产过程中我遇到了如下问题.
1. 如何让 ocx 自动安装?
    a) 如何签名?
    b) 如何打包?
    c) 如何安装到指定目录?
2. 如何让 ocx 自动升级?

下面是我解决这些问题的方法.(该项目已发布,所有代码都可正常运行.)

一、ocx 签名
  购买及使用:
  http://verisign.itrus.com.cn/html/fuwuyuzhichi/changyongwendang/411.html
  非购买的我没有发一现个可用的 -_-
  注:OCX与 CAB包都要签名

二、 打包成CAB包
这里我尝试了二个方法
    a)    Cabarc (该方法在我把系统升级为 win7 64后出错,原因没能找到.)
        运行 >  CMD
        cd C:\CAB
        cabarc n ocx.cab -s 6144 -m LZX:21 ocx.ocx 1.dll 2.dll 1.lang ocx.inf

        n ocx.cab 新生成 ocx.cab 包
        -s 6144 Reserve space in cabinet for signing (e.g. -s 6144 reserves 6K bytes)
        -m LZX:21压缩模式 最高压缩 Set compression type [LZX:<15..21>|MSZIP|NONE], (default is MSZIP)
        ocx.ocx 1.dll 2.dll 1.lang ocx.inf 是当前目录下 你要找进CBA包的 文件
    b)    MakeCAB (上个方法被废了后改用该方法,感觉比上个方法好用)
        运行 >  CMD
        cd C:\CAB
        MakeCAB /F list.txt /d compressiontype=lzx /d compressionmemory=21 /d cabinetnametemplate= ocx.cab

        /F list.txt 将要打包的文件目录内容如下
            ocx.ocx
            1.dll
            2.dll
            1.lang
            ocx.inf
        /d compressiontype=lzx /d compressionmemory=21压缩模式 最高压缩
        /d cabinetnametemplate= ocx.cab 打包后的文件名 我在当前目录 disk1 下打到了该文件

三、    安装(ocx.inf)
    ocx.inf 决定了,你文件的版本 安装目录等许多重要信息
    关于inf文件细节 大家可以看下
   [url] http://wenku.baidu.com/view/c136df4633687e21af45a97f.html[/url]
    下面给出一个简单的实例

    [version]  
    signature="$CHICAGO$" 
    AdvancedINF=1,0,0,4
     
    [DefaultInstall]
    CopyFiles=install.files
    RegisterOCXs=RegisterFiles

    [RInstallApplicationFiles]
    DelFiles=install.files
    CopyFiles=install.files
    RegisterOCXs=RegisterFiles

    [DestinationDirs]
    install.files=30,Program Files\XOCX

    [SourceDisksNames]
    1=%DiskName%,ocx.cab,1

    [install.files]
    ocx.ocx 1.dll 2.dll 1.lang
    [ocx.ocx]
    file-win32-x86=thiscab   
    RegisterServer=yes   
    clsid={917179C9-F725-4484-BADD-6D19A3DE5D82}
    FileVersion=1,0,0,3
    DestDir=30,Program Files\XOCX

    [1.dll]
    RegisterServer=yes       
    DestDir=30,Program Files\XOCX

    [2.dll]
    RegisterServer=yes       
    DestDir=30,Program Files\XOCX

    [1.lang]
    RegisterServer=yes       
    DestDir=30,Program Files\XOCX

    [RegisterFiles]
    %30%\Program Files\XOCX\ocx.ocx

四、    自动安装与自动升级

<object name="ocx" id="ocx" classid="clsid:917179C9-F725-4484-BADD-6D19A3DE5D82" style="width:100%; height: 100%; " codebase="ocx.cab#version=1,0,0,3"></object>

codebase 指明要从那里下载 该ocx.
#version=1,0,0,3 当前页面使用ocx的版本,如果与 ocx.inf中 [ocx.ocx] FileVersion=1,0,0,3一致. 不一致会要求用户重复安装.

当ocx升级后应该
修改基本版本
修改 ocx.inf中 [ocx.ocx] FileVersion=1,0,0,3 中的值
修改 <object> 中的值
这样当用户再次该页面时会自动安装最新版本的ocx控件
0
0
分享到:
评论

相关推荐

    将OCX控件打包CAB包并实现数字签名

    "OCX控件的CAB包打包和数字签名" OCX控件是ActiveX控件的一种,通常用于Web开发中。但是,直接在网页上使用OCX控件可能会存在安全问题。为了解决这个问题,可以将OCX控件打包到CAB包中,并对其进行数字签名。下面将...

    把OCX压制成CAB的工具,实现网页自动下载

    标题“把OCX压制成CAB的工具,实现网页自动下载”所涉及的知识点主要包括: 1. **CAB文件的制作**:CAB文件能够将多个文件打包成一个单一的下载单元,有助于减少网络传输的时间和带宽消耗。制作CAB文件通常需要用到...

    Advanced Installer v19.1.0 Chs 将OCX打包成exe文件进行安装和注册

    通过以上步骤,我们可以利用Advanced Installer v19.1.0中文版将OCX控件打包成exe文件,实现一键安装和自动注册,极大地提高了部署和维护的效率。对于开发者来说,这是一个非常实用的工具,能够简化OCX组件的分发和...

    OCX打包成exe的方法

    7. **创建启动脚本**:如果你的OCX需要在启动时运行或与特定的应用程序结合,可以创建一个启动脚本来实现。这可以通过在“启动”节点下添加一个快捷方式或自定义脚本来完成。 8. **配置安装界面**:Setup Factory...

    vc开发ocx并打成cab包

    【VC开发OCX并打成CAB包】的教程主要涉及了使用Visual C++(VC)创建MFC ActiveX控件以及将控件打包成CAB( Cabinet)文件的过程,以便于网页上直接调用和下载。以下是详细的步骤和知识点: 一、创建MFC ActiveX...

    ocx打印pdf演示测试版.rar

    在IT行业中,尤其是在Web开发领域,与用户交互并提供便捷的功能是至关重要的。"ocx打印pdf演示测试版.rar"这个压缩包文件提供了一个解决方案,它允许在HTML页面中使用OCX(ActiveX控件)来打印PDF文档。OCX是微软在...

    ocx 打cab包发布

    标题 "ocx 打cab包发布" 涉及到的是在Windows系统中打包和发布OCX(ActiveX Control)组件的技术。OCX是微软在COM(Component Object Model)架构下开发的一种控件,用于在应用程序中提供可重用的用户界面元素。将...

    C#自动实现DLL(OCX)控件注册

    C#自动实现DLL(OCX)控件注册 C#自动实现DLL(OCX)控件注册是指通过C#程序自动注册DLL(OCX)控件,使得控件可以在项目中正确使用。本文将介绍两种实现自动注册的方法,并对每种方法进行详细的解释。 方法一:调用...

    SignTool:ocx控件打包成cab

    本篇文章将深入探讨`SignTool`,一个用于数字签名Windows应用程序和组件的工具,以及如何使用它来将OCX(ActiveX控件)打包成CAB( Cabinet)文件,从而简化安装过程。 `SignTool`是微软提供的一个命令行工具,它...

    将ocx和DLL文件打包成cab文件,实现IE浏览器在线安装

    为了简化用户安装过程,我们可以将OCX和DLL文件打包成 CAB( Cabinet )文件。CAB文件是一种压缩格式,用于存储多个文件,并且通常与Windows软件分发相关联。将ActiveX控件打包到CAB文件中,用户只需点击一次,IE...

    51个VB6 OCX控件 打包

    51个VB6 OCX控件 打包 控件列表: AniGIFV6.ocx asAssistantPopup.ocx asBubbleForm.ocx asctrls.ocx chklsb26.ocx ComboBox.ocx COMCT232.OCX comctl32.ocx COMDLG32.OCX CurtButton.ocx daxctle.ocx DBGRID32.OCX ...

    将ocx打包成CAB控件的工具 makeCAB

    5. **部署与安装**:生成的CAB文件可以通过网页链接提供给用户下载,用户在Internet Explorer中点击链接后,浏览器会自动尝试安装CAB文件中的ActiveX控件。 值得注意的是,由于ActiveX技术的安全性和兼容性问题,...

    C++Builder自动注册MSCOMM.OCX控件

    在使用MSCOMM.OCX控件开发的项目中,自动注册MSCOMM.OCX控件,只需要讲MSCOMM.OCX控件跟,exe运行文件放在同一个目录下,实现自动检测安装MSCOMM.OCX控件。

    网站activex控件ocx打包工具

    网站ActiveX控件OCX是Windows操作系统中一种用于增强网页交互功能的组件,它允许开发者在Internet Explorer浏览器中实现更复杂的功能,如多媒体播放、文件操作等。OCX控件通常由开发人员编写,然后发布给用户安装,...

    ocx打包cab并签名

    总之,OCX打包成CAB并进行数字签名,不仅简化了OCX的分发过程,还提高了其安全性,确保用户能够安全地下载和使用OCX组件。这一过程涉及INF文件的创建、CAB文件的生成、数字签名的应用以及证书的申请,每个环节都至关...

    win10下OCX控件打CAB包web页面使用教程

    然而,为了在Web页面上使用OCX控件,需要将其打包成CAB( Cabinets)文件,以便于用户下载和安装。本文将详细介绍如何在Win10下进行这个过程。 首先,理解CAB文件:CAB文件是一种由Microsoft设计的压缩格式,用于...

    vb打包程序,只打包OCX控件

    vb打包程序,只打包OCX控件 不是网络上的打包程序,那个要不需要注册,要不就是有病毒。

    ie浏览器 js调用 ocx 异步打印pdf、图片控件

    为了实现异步打印,我们需要使用JavaScript与OCX控件进行通信。这可以通过`ActiveXObject`对象来实现,它是JavaScript在IE中与COM对象交互的桥梁。创建一个`ActiveXObject`实例,传入OCX控件的ProgID,然后调用其...

    mscomct2.ocx控件包.

    1. **Microsoft Office mscomct2 控件包.exe** - 这可能是一个安装程序,用于在用户的计算机上安装或修复`mscomct2.ocx` 控件,确保其正常工作。 2. **MSCOMCT2.OCX** - 这就是我们要找的核心文件,包含了ActiveX...

Global site tag (gtag.js) - Google Analytics