목요일, 10월 01, 2009

ActiveX Tip

이곳엔 ActiveX Tip 을 작성한다.

// ------------------------------------------------------------------
// 내가 사용하는 Cabinet 생성 Batch Script 이다.
//
// * 사용방법
//     @echo off
//     REM actx_pack.bat clean
//     actx_pack.bat actx_pack ocx n
// ------------------------------------------------------------------
@echo off

REM
REM Purpose: ActiveX Script
REM Note:
REM Filename: actx_pack.bat
REM Date: Dec. 13. 2006
REM Author: HoJung Kim (godmode2k@hotmail.com)
REM

set APP_NAME=%0
set BASE_PATH=C:\Program Files\Microsoft Platform SDK for Windows Server 2003 R2\Bin
set CHECK_PATH=C:\codesign

REM set CABARC_BIN=%BASE_PATH%\cabarc.exe
REM set MAKECERT_BIN=%BASE_PATH%\makecert.exe
REM set CERT2SPC_BIN=%BASE_PATH%\cert2spc.exe

set CABARC_BIN=%CHECK_PATH%\cabarc.exe
set MAKECERT_BIN=%CHECK_PATH%\makecert.exe
set CERT2SPC_BIN=%CHECK_PATH%\cert2spc.exe

set SIGNCODE_BIN=%CHECK_PATH%\signcode.exe
set SETREG_BIN=%CHECK_PATH%\setreg.exe
set CHKTRUST_BIN=%CHECK_PATH%\chktrust.exe

echo ----------------------------------------------------
echo [%APP_NAME%]: ActiveX Pack Script
echo ----------------------------------------------------
if "%1" == "" goto ERROR
if "%2" == "" goto ERROR
if "%3" == "" goto ERROR

if "%1" == "clean" goto CLEAN

REM NOTE:
REM    USING binary from "C:/Program Files/Microsoft Platform SDK for Windows Server 2003 R2/Bin"
echo [%APP_NAME%]: CAB
if "%2" == "ocx" %CABARC_BIN% N %1.cab ..\%1.ocx %1.inf .\*.DLL
if "%2" == "dll" %CABARC_BIN% N %1.cab ..\%1.dll %1.inf .\*.DLL
if "%3" == "n" goto ALL
if "%3" == "y" goto SIGNONLY

:ALL
echo [%APP_NAME%]: MAKECERT
%MAKECERT_BIN% -sv "%1.pvk" -n "CN=actx_pack ActiveX" %1.cer

echo [%APP_NAME%]: CERT2SPC
%CERT2SPC_BIN% %1.cer %1.spc

:SIGNONLY
REM NOTE:
REM    USING binary from "C:/codesign"
echo [%APP_NAME%]: SIGNCODE
REM %SIGNCODE_BIN% -v %1.pvk -spc %1.spc %1.cab -t http://timestamp.comodoca.com/authenticode
%SIGNCODE_BIN% -v %1.pvk -spc %1.spc %1.cab

echo [%APP_NAME%]: SETREG
%SETREG_BIN% -q 1 TRUE

echo [%APP_NAME%]: CHKTRUST
%CHKTRUST_BIN% %1.cab
goto CLOSE

:CLEAN
echo [%APP_NAME%]: Clean
del /q *.cab *.cer *.pvk *.spc
goto CLOSE

:ERROR
echo Usage: %APP_NAME% Filename(without .ext) FileType[ocx, dll] SignOnly[y|n]
goto CLOSE

:CLOSE
echo [%APP_NAME%]: Finish...
pause

REM _EOF_

-----
Cheers,
June

댓글 없음:

댓글 쓰기