本文示範以 ATL 建立最簡單的 ActiveX 控件,並打包成 .cab 檔供網頁下載安裝,涵蓋安全性標記、INF 腳本撰寫、cabarc 工具使用全流程。
CAirlineInfo)。BEGIN_CATEGORY_MAP(CAirlineInfo)
IMPLEMENTED_CATEGORY(CATID_SafeForScripting)
IMPLEMENTED_CATEGORY(CATID_SafeForInitializing)
END_CATEGORY_MAP()
stdafx.h 引入 #include <objsafe.h>。WinExec 示範功能。檔名 test.inf,內容結構:
[version]
signature="$CHICAGO$"
AdvancedINF=2.0
[Add.Code]
zqcom.dll=zqcom.dll
msvcr71d.dll=msvcr71d.dll
[zqcom.dll]
file-win32-x86=thiscab
clsid={CB4C551D-2BF5-40F7-866B-922DBEA618F2}
FileVersion=1,0,0,0
RegisterServer=yes
[msvcr71d.dll]
file-win32-x86=thiscab
RegisterServer=yes
clsid 對應控件類別的 CLSID。msvcr71d.dll 為 VC.NET 專案的 CRT 依賴;VC6 專案則為 mfc42.dll。CABARC n e:\myinf.cab e:\zqcom.dll e:\msvcr71d.dll e:\test.inf
cabarc 不在路徑,搜尋後加入環境變數。.cab 放置網站虛擬目錄(如 c:\Inetpub\wwwroot\)。控件未簽章,IE 預設會阻擋。用戶需暫時將「網際網路」與「區域網路」安全性層級調低,允許「未簽章的 ActiveX 控件執行」,安裝完成後再改回。
cabarc 打包<OBJECT codebase="xxx.cab"> 參考此範例為最小可行部署骨架,正式產品建議申請 Authenticode 簽章以免用戶調整安全性。