發佈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' οnclick='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設置爲上面的版本號。這樣的話客戶端瀏覽器在瀏覽頁面時會自動檢測控件的版本,如果有更新的版本瀏覽器會提示你重新安裝控件。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章