1. ActiveX 프로젝트를 통해 ocx 파일을 추출한다.
visual studio 6.0은 윈도우7(익스플로어9.0)과 호환되지 않으니 visual studio2008을 추천.
컴파일 시 정적라이브러리에서 MFC 사용으로 변경하는 것을 추천. ocx파일 사이즈가 커지긴 하지만 추가 파일이 불필요,
공유 DLL에서 MFC 사용으로 컴파일 할 경우 visual studio2008 재배포 배키지, 추가 종속되는 dll 을 cab파일에 포함시켜야 한다.
2. inf 파일을 작성한다.
ActiveX 파일(.cab)를 만들기 위해서는 ocx파일(혹은관련dll)과 inf파일이 필수로 있어야한다.
inf파일 작성법은 대략 이런식이다.
Sample.inf |
[version]
[Add.Code]
[Sample.ocx] DestDir=11 |
inf 파일 작성법은 인터넷 검색으로 많이 찾을 수 있으니 참고하시기 바란다.
3. Cab 파일 만들기
3-1. Cab 으로 압축하는 파일 및 인증서 제작 관련 파일이 들어있는 하단의 첨부 파일(ActiveXSign)을 다운받는다.
요즘은 알집에서도 Cab파일 제작이 가능하다고 하니 알집으로 하셔도 될듯하다.
다운받은 ActiveXSign.zip 파일의 압축을 풀어보면
CABARC.exe 라는 파일이 있다. 이 파일이 cab 제작가능 파일이다.
3-2. 커맨드창에서 (cmd.exe) CABARC.exe 파일과 ocx, inf 파일이 있는 경로로 이동한 후 명령어를 입력한다.
C:>CABARC N Sample.cab Sample.ocx Sample.inf |
이런식으로 입력하면 Sample.ocx Sample.inf 파일이 들어있는 Sample.cab이라는 파일이 생성되는 것을 확인할 수 있다.
정상적인 배포를 위해서는 인증서를 구입해서 Cab파일에 인증서 서명을 하여야 하나
테스트 배포이므로 인증서 서명은 생략한다.
검색해보면 테스트 인증서를 생성하며 서명하는 방법이 많이 나와있으나
경험에 의하면 테스트 인증서를 서명하여 배포한 것이나, 서명하지 않은것이나 별반 차이가 없었다.
오랜된 자료여서 그럴수 있다는 생각?
4. Cab 파일 배포하기
간단한 html파일을 만들어서 액티브엑스 배포 테스트를 해보자.
<html> <head> <title>title</title> </head> <body> <object classid="CLSID:448B0F40-D8CF-468B-A29D-E5827B75ADBD" codebase="http://www.url.co.kr/Sample.cab#version=1,0,0,1" width="100" height="100" id="test"> </object> </body> </html> |
상단 예제 소스의 <object></object> 부분이 cab 파일 설치 및 실행 부분이다.
주의할 점은 codebase의 cab 파일 경로는 관리자가 배포할 cab파일의 경로로 지정해야 한다는 것이다.
로컬로 테스트 하려면 cab파일의 로컬 경로를 써주면 된다.
여기까지가 ActiveX의 제작 및 배포 과정이다.