본문 바로가기

업무 채널

ActiveX(액티브엑스) 만들기 cab 배포하기

간단한 ActiveX를 만들어서 배포하려는데

ActiveX 는 점차 사장되어가는 상황이다보니 자료도 거의 옛날 자료 뿐이어서(액티브엑스 제작 및 배포), 
많은 어려움이 있었다.

제작했던 과정들을 기억하지는 의미에서 필요한 것만 간단요약한다. 순서기억용

 

 

 

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]
signature="$CHICAGO$"
AdvancedINF=2.0

 

[Add.Code]
Sample.ocx=Sample.ocx

 

[Sample.ocx]
file-win32-x86=thiscab
clsid={448B0F40-D8CF-468B-A29D-E5827B75ADBD}
FileVersion=1,0,0,1

DestDir=11
RegisterServer=yes

 

inf 파일 작성법은 인터넷 검색으로 많이 찾을 수 있으니 참고하시기 바란다.

 

 

3. Cab 파일 만들기

 

3-1. Cab 으로 압축하는 파일 및 인증서 제작 관련 파일이 들어있는 하단의 첨부 파일(ActiveXSign)을 다운받는다.

 

ActiveXSign.zip

 

요즘은 알집에서도 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의 제작 및 배포 과정이다.

 

 

 

만약 cab 파일 설치가 잘 되지 않으면?

이전에 작성한 링크 포스팅을 참고하시길

 

ActiveX 액티브엑스 설치 안될 경우 해결방안 (cab 배포 실패)

 

 

  • Favicon of https://swoop.tistory.com BlogIcon Armonia 2013.04.07 15:00 신고

    안녕하세요 ^^;;

    atcivex 강좌보다가 4번 cab 파일 배포 테스트하는거에서 막혀서 질문 드려봅니다 ㅠㅠ

    cab 파일은 네이버 자료 다운로드 activex (http://file.naver.com/activex/NaverAXGuide.cab)

    이걸로 사용했구요

    메모장으로 아래와 같이 적고 naver_test.html 파일로 저장하고 실행해 봤는데

    그냥 익스플로러 화면에 active 메세지창이 나오고 허용 누르니 아무런 반응이 없습니다 ㅡㅡ;;

    <html>
    <head>
    <title>title</title>
    </head>
    <body>
    <object classid="CLSID:FE342FC7-4374-4ebe-86DB-D73AE861F779" codebase="c:/NaverAXGuide.cab#version=1,0,0,1" width="100" height="100" id="test">
    </object>
    </body>
    </html>

    뭐가 잘못된건지 잘 모르겠네요 ㅠㅠ cab 파일이랑 html 파일은 c 드라이브에 바로 있습니다

    홈페이지같은건 아무것도 업구요 그냥 순수 윈도우 상태에서 로컬로 테스트해볼려고합니다

    초면에 정말 염치없지만 네이버 activex 를 예로 들어서 보충 강좌좀 부탁드려봅니다 ㅡㅡ;;;

  • Favicon of https://bigmark.tistory.com BlogIcon bigmark 2013.04.08 00:57 신고

    로컬로 테스트 하시려면
    cab 파일과 html 파일을 같은 경로에 두시고
    codebase 부분을 아래와 같이 변경해서 해보세요
    version도 cab파일 버전으로 맞춰줘야합니다.
    cab 파일 안에보시면 inf 파일에 버전정보가 나와있어요
    codebase="NaverAXGuide.cab#version=1,0,3,4
    이렇게 변경해서 해보세요

    • Favicon of https://swoop.tistory.com BlogIcon Armonia 2013.04.08 19:31 신고

      아.. 정말 감사드립니다 ^^

      설치가 다 잘되네요 ㅎㅎ;;

      너무나도 유익한 정보 감사하게 잘 배웠습니다.

      다시한번 감사드려요!!

  • Favicon of https://bigmark.tistory.com BlogIcon bigmark 2013.04.09 21:30 신고

    잘되신다니 다행이네요^^