首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> C語言 >> VC >> VC 教學

MFC/ATL ActiveX 控件部署指南:建立簽署 CAB 套件與網頁嵌入

     編輯:VC 教學

部署流程總覽

  1. 申請軟體發行者憑證 (SPC)
  2. 撰寫 .inf 安裝腳本
  3. 使用 CABARC 壓縮封裝 .cab
  4. 使用 SignCode 數位簽署 .cab
  5. 網頁以 <OBJECT> 標籤嵌入,指定 CODEBASE 指向 .cab

1. 取得憑證

  • 正式環境:向驗證機構 (VeriSign, Thawte 等) 申請 SPC,需提交公開金鑰、身分證明、法律聲明。
  • 測試環境:VC 光碟 CAB&SIGN 目錄工具:
    MAKECERT -u:MyKey -n:"CN=MyCompany" -k:MYKEY.PVK CERT.CER
    CERT2SPC CERT.CER ROOT.CER CERT.SPC

2. 撰寫 .inf 檔 (以 ATL Polygon 控件為例)


; Polygon.inf
[version]
signature="$CHICAGO$"
AdvancedINF=2.0

[Add.Code]
polygon.dll=polygon.dll
atl.dll=atl.dll

[atl.dll]
file-win32-x86=thiscab
FileVersion=2,00,0,7024
DestDir=11
RegisterServer=yes

[polygon.dll]
file-win32-x86=thiscab
clsid={4CBBC676-507F-11D0-B98B-000000000000}
FileVersion=1,0,0,1
RegisterServer=yes
  • file-win32-x86=thiscab:檔案在本 .cab 內。
  • DestDir=11:系統目錄 (Windows\System 或 WinNT\System32)。
  • clsid:控件類別 ID。

3. 建立 .cab


CABARC -s 6144 n POLYGON.CAB ATL.DLL POLYGON.DLL POLYGON.INF
  • -s 6144:保留 6144 位元組供簽署區。
  • 檔案順序必須與 .inf 中 [Add.Code] 區段順序一致。

4. 簽署 .cab


SIGNCODE
// 依精靈步驟:選擇 .cab → 輸入發行者名稱 → 指定 .spc 與 .pvk → 簽署

5. 網頁嵌入


<OBJECT ID="MyPolygon"
    CLASSID="clsid:4CBBC676-507F-11D0-B98B-000000000000"
    CODEBASE="https://mysite.com/POLYGON.CAB#version=1,0,0,1">
</OBJECT>
  • CODEBASE 可直接指向 .dll/.ocx (需客戶端已安裝相依 DLL),或 .cab (含相依檔案、自動安裝)。
  • 版本號格式:#version=1,0,0,1 (四段式),用於版本更新判斷。

MFC 控件額外相依

MFC ActiveX 需包含:MSVCRT.DLL、MFC42.DLL、OLEPRO32.DLL,在 .inf 中同樣列入 [Add.Code] 區段。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved