ActiveX 자동 업데이트 하는 방법

1. 프로젝트 리소스의 VERSIONINFO 리소스의 버전 정보를 수정한다.
 
  이때 FILEVERSION 과 PRODUCTVERSION 은 일치하는 것이 좋으며 버전정보는 , 로 구분되는 숫자 4개로 이루어져야함.
  예). 1,2,3,4
 
2. CAB 파일을 만들기 위한 INF를 작성한다.
 
  이때도 INF 에 버전정보를 적는데 VERSIONINFO 에 적은 버전정보와 같은 형식으로 , 로 구분하여 적는다.

  예).
 
  [TEST.ocx]
  file-win32-x86=thiscab
  ; *** add your controls CLSID here ***
  clsid={4132944C-862D-463F-BB47-ABF99043AB1C}
  ; Add your ocx's file version here.
  FileVersion=1,0,1,3
  RegisterServer=yes
 
3. CAB 파일을 생성 후 서버에 업로드 후 ActiveX 를 참조 하는 OBJECT 태그의 버전정보를 수정한다.

  이때 역시 버전정보는 , 로 구분되는 숫자 4개여야 함.

  예)
  <OBJECT id=Service classid="CLSID:3201944C-862D-463F-BB47-ABF99043AB1C" codebase="/Include/AutoUPOCX.CAB#version=1,0,1,3" width="0" height="0" type="application/x-oleobject">
  </OBJECT>
 
  따라서, 편한 버전 업데이트를 위해서는 ActiveX 를 참조하는 OBJECT 태그를 별도의 스크립트 파일로 분리하여 Include 하는 것이 관리하는데 도움을 줄 수 있음
 
 
4. IE는 서버에 새번이 있더라도 페이지에서 구버전을 요청하면 업데이트를 시행하지 않으므로 OBJECT 태그의 버전정보를 반드시 새버전으로 변경해야한다.

  또한, 구버전이 이미 로딩된 상태로 다음 페이지에서 새버전을 요구하면 업데이트 할 때 재부팅을 요구할 수 있으므로 반드시 ActiveX 가 처음 사용되는 페이지의 버전정보를 변경한다.

Posted by 모과이IT
,