最近做directshow外掛程式,用於網頁,參照別人的cab做法,自己做了下,ocx檔案需要有版本資訊。
1.編寫inf檔案,例如your.inf
signature="$china$"
advancedinf=2.0
[defaultinstall]
addreg = addreg
[add.code]
your.ocx=your.ocx
;start of ffdshow
ff_kerneldeint.dll=ff_kerneldeint.dll
ff_liba52.dll=ff_liba52.dll
msvcp71.dll=msvcp71.dll
msvcr71.dll=msvcr71.dll
tomsmocomp_ff.dll=tomsmocomp_ff.dll
ff_vfw.dll.manifest=ff_vfw.dll.manifest
ffdshow.ax.manifest=ffdshow.ax.manifest
ffdshow.ax=ffdshow.ax
;end of ffdshow
mfc42.dll=mfc42.dll
msvcrt.dll=msvcrt.dll
olepro32.dll=olepro32.dll
[your.ocx]
file=thiscab
clsid=
fileversion=1,1,7,0
registerserver=yes
;start of ffdshow
[ff_kerneldeint.dll]
file=thiscab
[ff_liba52.dll]
file=thiscab
[msvcp71.dll]
fileversion=7,10,3077,0
file=thiscab
[msvcr71.dll]
fileversion=7,10,3052,4
file=thiscab
[tomsmocomp_ff.dll]
file=thiscab
[ffdshow.ax.manifest]
file=thiscab
[ff_vfw.dll.manifest]
file=thiscab
[ffdshow.ax]
file=thiscab
clsid=
fileversion=1,0,2,1997
registerserver=yes
[mfc42.dll]
fileversion=6,2,4131,0
hook=mfc42installer
[msvcrt.dll]
fileversion=7,0,2600,2180
hook=mfc42installer
[olepro32.dll]
fileversion=5,1,2600,2180
hook=mfc42installer
[mfc42installer]
file-win32-x86=value=
run=%extract_dir%/mfc42.exe
2.編寫壓縮cab檔案bat,比如cabcreate.bat
rem #################### begin of generate your.cab ########################
set files=your.ocx
set files=%files% ../ffdshow/*.dll
set files=%files% ../ffdshow/*.manifest
set files=%files% ../ffdshow/*.ax
set files=%files% ./your.inf
@del your.cab
cabarc -s 6144 nyour.cab %files%
3.編寫製作簽名cab檔案bat,比如cabsign.bat
@echo off
set path=%path%;d:/program files/microsoft platform sdk for windows xp sp2/bin;e:/source/makecab
set cabfile=your.cab
set pvkfile=yourcontrol.pvk
set cerfile=yourcontrol.cer
set spcfile=yourcontrol.spc
set pfxfile=yourcontrol.pfx
set pass=yourpass
@del %pvkfile%
@del %cerfile%
@del %spcfile%
@del %pfxfile%
if not exist %pvkfile% makecert -sv "%pvkfile%" -n "cn=your company,e=your site,o=yourname" -b 01/01/2000 -e 01/01/2099 %cerfile%
if not exist %spcfile% cert2spc %cerfile% %spcfile%
if not exist %pfxfile% pvk2pfx.exe -pvk %pvkfile% -pi %pass% -spc %spcfile% -pfx %pfxfile% -f
rem signcode.exe /spc yourcontrol.spc /v yourcontrol.pvk yourcontrol.cab
rem signcode.exe
signtool sign /f %pfxfile% /p %pass% /v /d "yourname" "%cabfile%"
rem signtool.exe verify /v /a "%cabfile%"
製作Cab檔案
照著網上的方法製作了cab檔案,怕以後自己忘記,把它記下來。第一步 製作msi完整檔案,第二步 新建個setup.inf檔案,檔案具體內容如下 version signature chicago advancedinf 2.0 setup hooks hook1 hook1 hook1 run ms...
對開發的程式(製作CAB)進行簽名
1 建立安裝程式,用vb打包 2 多個檔案壓縮,用iexpree2.0,選 將檔案解開並執行安裝命令 生成乙個 壓縮執行檔案 3 對 壓縮執行檔案 進行簽名,用signcode 在這之前要生成乙個.cer的證書檔案,如何生成一會兒說 4 寫入 clsid沒有關係的,只要格式一樣就行 但是有另外乙個屬...
對開發的程式(製作CAB)進行簽名
1 建立安裝程式,用vb打包 2 多個檔案壓縮,用iexpree2.0,選 將檔案解開並執行安裝命令 生成乙個 壓縮執行檔案 3 對 壓縮執行檔案 進行簽名,用signcode 在這之前要生成乙個.cer的證書檔案,如何生成一會兒說 4 寫入 clsid沒有關係的,只要格式一樣就行 但是有另外乙個屬...