ActiveX 배포에 대한 좋은 글
출처 : Devpia
http://www.devpia.com/MAEUL/Contents/Detail.aspx?BoardID=50&MAEULNo=20&no=676548&ref=676532
========================================================================
안녕하세요, 놀고먹는 백수입니다.
ActiveX 를 만들다보면, Cab파일을 만들어서 배포하는데, 잘 안되는경우가 있습니다.
시스템을 리부팅해야 한다는둥, 이전버젼이 계속 안지워지고, 매번 계속 다운을 받는다든가
하는 상황이 발생할때가 있습니다.
물론 inf랑 cab파일 다 잘만들었을때 얘기죠
그래서 저는 , 강제로, 이전버젼의 aCtiveX를 강제로 삭제하고, 새로운버젼을 시스템 디렉토리에
복사한다음, regsvr32까지 해주는 프로그램을 만들어서 씁니다.
cab파일을 받았을때 AcitveX를 설치하고 등록하고 업데이트 하는 일을 명시적으로 직접
프로그램에서 하는거죠 .
Required Skill
1. ActiveX ( ???.ocx) 파일을 실행파일에 포함시키는 방법
2. 파일을 regsvr32 사용해서 실제로 등록 하는 방법 ( 로컬컴퓨터의 regsvr32 를 이용하는것이 아니라
실제 구현한 함수를 사용합니다. )
References
1. Q/A 보드 184574 번글, 이승훈님의 '바이너리 리소스'라는 제목의 글을 참조하십시오 .
2. Tip And Trick , 2039번글, 하형욱님(-_-)의 'Regsvr Function'이라는 제목의 글을 참조하십시오.
Logique
1. OCX를 resource에 넣어서, exe파일에 같이 들어가게 합니다.
2. exe가 실행되면 , resource에 있는 ocx 파일을 로컬컴퓨터의 System Directory에 복사합니다.
( modeCreate 해서 이전파일을 지워주시구요 )
3. regsvr 함수를 사용하여 복사한 ocx를 등록해줍니다.
Another Information
CAB파일을 만들때는 다음과 같이 INF 파일을 만들어줍니다.
[Version]
signature="$CHICAGO$"
AdvancedINF=2.0
[Setup Hooks]
InstallHook=InstallHook
[InstallHook]
run=%EXTRACT_DIR%컴파일해서만든프로그램이름.exe -remote
웹페이지에 넣을때는 OCX 를 기준으로 해서 하던 것 처럼 해주시구요.
cab파일 만들때는 . exe랑 inf 만 해주면 되겠지요. , OCX에 대한 정보가 없으니 inf가 정말 간단해졌습니다.
그럼 로컬에 있는 버젼을 체크해서 버젼이 낮으면
서버에 있는 cab파일을 다운받고 ( 여기까지는 자동이죠? )
inf 있는 내용대로 설치를 시작합니다.
위와 같이 적어져먼 InstallHook에 명시된 프로그램이 실행되므로,
우리가 프로그래밍한대로 , 수동으로 ocx복사하고, 등록까지 되겠죠.
장점 : 설치를 프로그램에서 명시적으로 하므로 , 설치때 특별한 일을 해줄수 있습니다.
(만든 사람이름을 따로 보여준다든가. .등등의. )
단점 : cab파일의 크기가 커집니다. 프로그램이 60k 가 좀 넘으므로, Ocx 를 패키징 하는것보다
몇십 K 정도 더 커지겠죠.
출처 : Devpia
http://www.devpia.com/MAEUL/Contents/Detail.aspx?BoardID=50&MAEULNo=20&no=676548&ref=676532
========================================================================
안녕하세요, 놀고먹는 백수입니다.
ActiveX 를 만들다보면, Cab파일을 만들어서 배포하는데, 잘 안되는경우가 있습니다.
시스템을 리부팅해야 한다는둥, 이전버젼이 계속 안지워지고, 매번 계속 다운을 받는다든가
하는 상황이 발생할때가 있습니다.
물론 inf랑 cab파일 다 잘만들었을때 얘기죠
그래서 저는 , 강제로, 이전버젼의 aCtiveX를 강제로 삭제하고, 새로운버젼을 시스템 디렉토리에
복사한다음, regsvr32까지 해주는 프로그램을 만들어서 씁니다.
cab파일을 받았을때 AcitveX를 설치하고 등록하고 업데이트 하는 일을 명시적으로 직접
프로그램에서 하는거죠 .
Required Skill
1. ActiveX ( ???.ocx) 파일을 실행파일에 포함시키는 방법
2. 파일을 regsvr32 사용해서 실제로 등록 하는 방법 ( 로컬컴퓨터의 regsvr32 를 이용하는것이 아니라
실제 구현한 함수를 사용합니다. )
References
1. Q/A 보드 184574 번글, 이승훈님의 '바이너리 리소스'라는 제목의 글을 참조하십시오 .
2. Tip And Trick , 2039번글, 하형욱님(-_-)의 'Regsvr Function'이라는 제목의 글을 참조하십시오.
Logique
1. OCX를 resource에 넣어서, exe파일에 같이 들어가게 합니다.
2. exe가 실행되면 , resource에 있는 ocx 파일을 로컬컴퓨터의 System Directory에 복사합니다.
( modeCreate 해서 이전파일을 지워주시구요 )
3. regsvr 함수를 사용하여 복사한 ocx를 등록해줍니다.
Another Information
CAB파일을 만들때는 다음과 같이 INF 파일을 만들어줍니다.
[Version]
signature="$CHICAGO$"
AdvancedINF=2.0
[Setup Hooks]
InstallHook=InstallHook
[InstallHook]
run=%EXTRACT_DIR%컴파일해서만든프로그램이름.exe -remote
웹페이지에 넣을때는 OCX 를 기준으로 해서 하던 것 처럼 해주시구요.
cab파일 만들때는 . exe랑 inf 만 해주면 되겠지요. , OCX에 대한 정보가 없으니 inf가 정말 간단해졌습니다.
그럼 로컬에 있는 버젼을 체크해서 버젼이 낮으면
서버에 있는 cab파일을 다운받고 ( 여기까지는 자동이죠? )
inf 있는 내용대로 설치를 시작합니다.
위와 같이 적어져먼 InstallHook에 명시된 프로그램이 실행되므로,
우리가 프로그래밍한대로 , 수동으로 ocx복사하고, 등록까지 되겠죠.
장점 : 설치를 프로그램에서 명시적으로 하므로 , 설치때 특별한 일을 해줄수 있습니다.
(만든 사람이름을 따로 보여준다든가. .등등의. )
단점 : cab파일의 크기가 커집니다. 프로그램이 60k 가 좀 넘으므로, Ocx 를 패키징 하는것보다
몇십 K 정도 더 커지겠죠.
'Programming > ActiveX' 카테고리의 다른 글
ActiveX의 안정성 코드에 대해 좋은글 링크 (0) | 2008.09.04 |
---|---|
Vista 호환 ATL기반 다이얼로그 ActiveX 만들기 - 본론 - (1) | 2007.11.10 |
Vista 호환 ATL기반 다이얼로그 ActiveX 만들기 - 도입편 - (3) | 2007.09.18 |
ActiveX 관련 자료들 (0) | 2007.08.29 |