분류 전체보기 (199)
ººº::Development™:: (66)
ººº::Learning™:: (31)
ººº::Information™:: (37)
ººº::Note™:: (11)
ººº::Photo™:: (50)
ººº::zEtc™:: (3)
rss

믹시
tistory 티스토리 가입하기!
2008. 4. 17. 11:30
VB로 작성된 ActiveX같은 경우는 VisualStudio( 이하 VS )에 포함된 배포마법사를 통해서 작성가능 하나!
VS같은 경우는 따로 CAB을 만들어 줘야 한단다!( 어제부터 왜이리 삽질을 하는건지..ㅜㅜ; )
머 우짜든 일단 컴파일 시키는거까지 성공했고 이제는 배포를 해보자

배포파일 작성 순서는 다음과 같다.
1. .inf파일 작성
2. .ocx 파일과 .inf파일을 .cab 파일로 압축
3. 압축된 .cab파일 서명
4. .cab파일을 웹 페이지에 등록

그럼 위 순서를 하나하나 따라가 보자!!!

1. .inf파일 작성
VB같은 경우는 배포마법사에서 VB Project를 설정하면 자동으로 .inf파일이 생성되나, VC++은 사용자가 스스로 만들어 줘야 한단다!( C++은 넘 불편해!!ㅠㅠ )
 ;======================= testActiveX.inf ===================
[Version]
signature="$CHICAGO$"
AdvancedINF=2.0

[Add.Code]
testActiveX.ocx=testActiveX.ocx
; 작성된 ActiveX에 종속되어져야 하는 dll을 나열한다.
mfc42.dll=mfc42.dll
msvcrt.dll=msvcrt.dll
olepro32.dll=olepro32.dll

; 종속되는 dll들의 세부 사항을 설정
[mfc42.dll]
FileVersion=6,0,123,m0
hook=mfc42installer

[msvcrt.dll]
FileVersion=6,1,8924,0
hook=mfc42installer

[olepro32.dll]
FileVersion=5,0,4265
hook=mfc42installer
[mfc42installer]
file-win32-x86=http://activex.microsoft.com/controls/vc/mfc42.cab
run=%EXTRACT_DIR%\mfc42.exe

[testActiveX.ocx]
file-win32-x86=thiscab
clsid={XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX}
DestDir=11
FileVersion=1,0,0,1
RegisterServer=yes
위 설정을 간단히 살펴보면
* ";" 는 주석을 표시한다.
[Add.Code] : 설치한 파일들을 나열한다.
testActiveX.ocx=testActiveX.ocx         ; 당연히 가장 중요한 activex파일
aaa.dll=aaa.dll                                 ; 작성한 ActiveX에 종속적인 dll들

[testActiveX.ocx]
file-win32-x86=thiscab               ; 먼지 나두 모르겠다 아시는 분 손!!
clsid={}                                   ; 작성한 ActiveX의 Class Id
FileVersion=                             ; 작성한 ActiveX의 버전
DestDir=                                   ; 압축이 풀린 cab의 ocx가 설치될 경로
RegisterServer=yes                   ; 먼지 나두 모름 이것두 아시는 분 손!!

위에서 얘기하는 DestDir의 각 설명은 다음 포스트에서 추가하도록 하겠당!
추가라기보다는 어디서 긇어 오는거겠지만!!ㅡㅡ;

나머지 부분은 ActiveX를 작성하면서 추가된 Dll 파일들을 추가해주면 된다
FileVersion         ; 설치될 dll의 버전
hook                  ; 설치할 방법을 설정하는 부분의 Title이라는데 이것두 모르겠당

자 이제 .inf파일을 작성하는것을 마치고 다음에 .cab파일 생성하는 부분을 보자

2. .cab파일 작성
.cab파일을 생성하기 위해서는 cabar.exe라는 프로그램이 필요하다. 이 프로그램과 이하 아래에서 사용되는 여타 다른 프로그램은 아래 다운로드 링크를 통해 다운받으시면 되용!
그런데 이거 이렇게 막 뿌려두 되는건가..??설마 저작권에 걸리는건 아닌가?? 머 인터넷에 돌아댕겨서 나두 올리는거지만 사실 좀 불안함 혹시 걸리는거면 바로 삭제하겠습니다.!!

cab파일 생성 예
cabarc.exe N testActiveX.cab testActiceX.ocx testActiveX.inf

이렇게 하면 cab파일로 압축이 된다. 상당히 간단!! 이런건 왜 배포 마법사에 포함을 안시켰는지 원!ㅡㅡ;

3. .cab파일 서명
cab파일 서명은 아래 보이는 명령어들을 순서대로 치면서 암호 입력하고 입력한 암호를 다시 입력하고 머 그러면 된다.
makecert -sv "mycert.pvk" -n "CN=TEST ActiveX" mycert.cer
cert2spc mycert.cer mycert.spc
signcode -v mycert.pvk -spc mycert.spc testActiveX.cab
setreg -q 1 TRUE

자 이렇게 하면 서명까지 끝나는데 웹 페이지에 올리는건 다덜 아시는대로 올리면 되고
일단 나머지 부분은 밥먹구와서 정리해야징!!ㅋㅋㅋ
참고 사이트 : http://rnd.vitzro.com/Language/VisualC/MakeCab.htm