发布MFC ActiveX控件并实现自动更新

一.        引言

上一篇我们讲了如何使用 VC 2005来开发 MFC ActiveX控件,我们开发 ActiveX控件最终目的是将 ActiveX控件发布出来并嵌入在 Web网页中,随着控件的版本更新自动在客户端浏览器自动更新。这一篇我们就来讲讲这方面的实现。

使用工具: PackageForTheWeb

二.        编译 ActiveX 控件

在发布之前我们最好用 VS2005将控件编译成“ Release”版本,还有一个值得注意的地方是我们在使用MFC类库来开发 ActiveX控件时要考虑客户端是否有 MFC类库,解决方法有两种:

1.         在下面打包的时候将 MFC的类库 DLL附带上。

2.         通过“项目”—》“属性”打开项目属性对话框,将“ MFC的使用”设置为“在静态库中使用MFC”。如下图:

         点击“确定”保存配置信息,这样生成的 ActiveX控件不需要 MFC类库,笔者建议第 2种方法。

三.        打包 ActiveX 控件

编译好 ActiveX控件,我们会在 Release文件夹下发现“ ActiveXDemo.ocx”文件生成。接下来我们打开“PackageForTheWeb”工具,界面如下:

点击“下一步”按钮。

 

默认设置,点击“下一步”按钮。

 

输入上述信息,“公司名称”和“产品名称”为必输项,其它可以不填。点击“下一步”按钮。

 

  

       

  选择“ Cab文件”,点击“下一步”按钮。   

  

     

  找到你放置“ ActiveXDemo.ocx”目录,点击“下一步”按钮。

     

 

因为我们编译的 ActiveX控件是按第二种方法编译的,所以不用附带其它 dll文件,如果要附带其它文件可以通过点击“加入”按钮来自定义添加文件。点击“下一步”按钮。

 

       点击“确定”,让工具添加默认的 INF文件。

         

  点击“下一步”按钮。

                  

      点击“下一步”按钮。

     

      设置好项目和 cab文件保存目录。点击“下一步”按钮。

  

                    

       点击“下一步”按钮。

                  

       最后点击“完成”按钮。

四.        发布 ActiveX 控件

通过上面的步骤我们会得到一个“ ActiveXDemo.cab”文件。我们用“ EditPlus”新建一个 Html文件,具体内容如下:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">

<head>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

<title>ActiveX 测试 </title>

<script language = 'javascript'>

 

         function AddFun()

         {

                   var iResult = MYAvtiveX.AddFun(12, 11);// 调用 ActiveX 控件的 AddFun 方法。

                   alert(iResult);

         }

</script>

</head>

 

<body>

<object id="MYAvtiveX" classid="clsid: F0E7128D-E311-42F1-A0BA-88397960732E"

 CODEBASE=" ActiveXDemo.cab#version=1,0,0,1"> </object>

<fieldset>

<legend>MyActiveX 测试 </legend>

    <table width="100%" border="1">

      <tr>

        <td width="20%"><input type='button' onclick='AddFun()' value='AddFun'> </td>

      </tr>   

    </table>

</fieldset>

</body>

</html>

“ version=1,0,0,1”要与前面的 Info文件中的 version一致。到现在为止,我们可以将上面的 Html页面和 cab文件放置在一个目录下,并且将这个设为 Web虚拟目录可以通过浏览器来测试。

五.        更新 ActiveX 控件

如果修改了 ActiveX控件的方法,并且用上述的编译的方法编译 ActiveX控件,打包 ActiveX控件。在打包ActiveX控件步骤中,我们需要在编辑 INF文件步骤中我们可以将 FileVersion设置为 1,0,0,2。为了区别以往的版本。

      相应的我们在更新 ActiveX控件步骤中,在 HTML文件中将 <object id="MYAvtiveX" classid="clsid: F0E7128D-E311-42F1-A0BA-88397960732E"

 CODEBASE=" ActiveXDemo.cab#version=1,0,0,2"> </object> 将 version设置为上面的版本号。这样的话客户端浏览器在浏览页面时会自动检测控件的版本,如果有更新的版本浏览器会提示你重新安装控件。

时间: 2024-10-01 00:41:58

发布MFC ActiveX控件并实现自动更新的相关文章

mfc-如何打包发布包含activex控件的程序

问题描述 如何打包发布包含activex控件的程序 我写了一个mfc程序,程序中包含 activex控件,如何打包发布这个mfc程序 解决方案 怎样给 ActiveX 控件签名并打包发布ActiveX控件的打包发布[无证书发布]ActiveX 控件打包 解决方案二: 用打包工具把activeX文件加进去,然后在安装的时候regsvr32来注册

MFC ActiveX控件与ATL ActiveX控件的比较 .

1.两者均可使用VS IDE中AppWizard来建立框架,前者使用"MFC ActiveX Control Wizard",后者使用"ATL COM AppWizard". 2.用MFC建立的ActiveX控件的扩展名缺省为".ocx":用ATL(活动模板库)建立的扩展名缺省为".dll". 3.用MFC建立ActiveX控件要简单得多,原因是MFC省去聊很多低级的COM概念,且控件设计中可使用多种MFC类,如CString

注册-mfc activex控件开发问题

问题描述 mfc activex控件开发问题 mfc activex控件(封装另外一个dll文件中的接口)中的方法在vs2008中经过编译注册后通过js调用有效,而单独进行注册则提示"对象不支持此属性或方法",这是什么原因啊?各位大神!!! 解决方案 里面的方法有问题看看参数Hi t对不 解决方案二: regsvr32方式注册的吗,是否用admin权限

MFC ActiveX 控件:序列化(msdn)和属性页

本文讨论序列化 ActiveX 控件的方法.序列化是从持久性存储媒体(如磁盘文件)中读取或向其中写入的进程.Microsoft 基础类 (MFC) 库在 CObject 类中为序列化提供内置支持.COleControl 通过使用属性交换机制,将此支持扩展到 ActiveX 控件. 通过重写 COleControl::DoPropExchange 实现 ActiveX 控件的序列化.在加载和保存控件对象期间调用此函数,以存储用成员变量或用带更改通知的成员变量实现的所有属性.用户可以对控件进行序列化

mfc activex控件-MFC中 ACTIVEX控件活动与非活动区别!!!

问题描述 MFC中 ACTIVEX控件活动与非活动区别!!! 请问下 ACTIVEX控件 活动与非活动状态区别?也就是说有窗口和无窗口的区别?谢谢 能详细介绍下不胜感激!!(比如他们用途区别,例子说明更好)

VS2008 在IE8中 调试 ActiveX控件 无法进入断点的解决方法 设置VS2008和IE8 调试ATL MFC ActiveX控件

设置VS2008和IE8 调试ATL控件   VS2008设置篇:     设置VS2008 通过IE8 调试ATL的ActiveX控件的步骤如下: (1)       设置项目属性 通过菜单项 "项目->你的项目属性"如下图: (2)       在弹出的属性页对话框中选中"配置属性->调试",在右边填入下列参数: 命令         :C:\Program Files\Internet Explorer\iexplore.exe(你的IE8执行文件

设置VS2008和IE8 调试ATL MFC ActiveX控件

设置VS2008和IE8 调试ATL控件   VS2008设置篇:     设置VS2008 通过IE8 调试ATL的ActiveX控件的步骤如下: (1)       设置项目属性 通过菜单项 "项目->你的项目属性"如下图: (2)       在弹出的属性页对话框中选中"配置属性->调试",在右边填入下列参数: 命令         :C:\Program Files\Internet Explorer\iexplore.exe(你的IE8执行文件

基于MFC的ActiveX控件开发

ActiveX 控件是基于组件对象模型 (COM) 的可重用软件组件,广泛应用于桌面及Web应用中.在VC下ActiveX控件的开发可以分为三种,一种是直接用COM的API来开发,这样做显然非常的麻烦,对程序员要求也非常高,因此一般是不予考虑的:一种是基于传统的MFC,采用面向对象的方式将COM的基本功能封装在若干MFC的C++类中,开发者通过继承这些类得到COM支持功能.MFC为广大VC程序员所熟悉,易于上手学习,但缺点是MFC封装的东西比较多,因此用MFC开发出来的控件相对会比较大,因此比较

使用MFC开发ActiveX控件

摘要: 本文对COM组件中的ActiveX控件的MFC开发方法进行了介绍,讲述了用户自定义和库存属性.方法以及事件的添加方法和属性页的制作过程.使读者能够掌握基本的MFC ActiveX开发方法. 前言 ActiveX控件是一种实现了一系列特定接口而使其在使用和外观上更象一个控件的COM组件.ActiveX控件这种技术涉及到了几乎所有的COM和OLE的技术精华,如可链接对象.统一数据传输.OLE文档.属性页.永久存储以及OLE自动化等. ActiveX控件作为基本的界面单元,必须拥有自己的属性和