制作签名cab文件

最近做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={6F5A0B29-5C26-49A1-9462-4C9910F085F3}
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={04FE9017-F873-410E-871E-AB91661A4EF7}
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=http://activex.microsoft.com/controls/vc/mfc42.cab
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%"


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值