CABARC 壓縮封裝 .cabSignCode 數位簽署 .cab<OBJECT> 標籤嵌入,指定 CODEBASE 指向 .cabCAB&SIGN 目錄工具:MAKECERT -u:MyKey -n:"CN=MyCompany" -k:MYKEY.PVK CERT.CERCERT2SPC CERT.CER ROOT.CER CERT.SPC
; 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。
CABARC -s 6144 n POLYGON.CAB ATL.DLL POLYGON.DLL POLYGON.INF
-s 6144:保留 6144 位元組供簽署區。
SIGNCODE
// 依精靈步驟:選擇 .cab → 輸入發行者名稱 → 指定 .spc 與 .pvk → 簽署
<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 ActiveX 需包含:MSVCRT.DLL、MFC42.DLL、OLEPRO32.DLL,在 .inf 中同樣列入 [Add.Code] 區段。