한델에서 여러가지로 도움을 받고 있는 델초보 소태기입니다.
Active Form을 이용해서 홈페이지를 만들고 있는 중입니다.
그런데 한가지 문제가 있어서 문의를 드립니다.
브라우져에서 cab파일을 다운받겠냐는 질문이 나와서 다운받겠다고 'Yes'를 클릭했습니다.
물론 cab파일은 정상적으로 만들었고, 인증도 테스트 인증으로 했습니다.
문제는 가끔가다가 이놈이 시스템 설정이 바뀌었으므로 재부팅을 하겠냐고 물어보는겁니다. 하겠다고 하면 당근이 재부팅을 하겠죠. 그런 다음엔 그런 메세지가 안뜹니다. 하지만 재부팅을 안하겠다고 '노'를 클릭하면 화면에 Active Form이 보여지기는 하는데 버젼업이 안되는것 같습니다.
이유가 뭔지 궁금합니다.
물론 다른 여러가지 상황으로 그렇게 될수도 있겠지만 혹 지금까지의 내용만으로 문제가 뭔지.. 해결책이 뭔지 아시는분 있음 가르쳐 주시길... 설명이 부족하면 질문 바랍니다.
일단 엑티브엑스의 cab를 다운로드 되어 설치하는 과정을 알아보겠습니다
1. <Object>태크가 있으면.. 해당 ocx가 설치되어 있는지 알아봅니다
2. 레지스트리에 있는 버전정보와 <Object>태크내의 버전 정보를 비교하여
태그내 버전이 최신 버전이면 CAB파일을 다운로드 합니다
3. CAB을 풀고 CAB파일내의 *.inf를 참조하여 해당 디렉토리에 파일 복사(풀고) 레지스트리에 등록할건 등록하고 설치합니다.
4. <Object>에 명시된 OCX파일을 로딩합니다
5. OCX를 실행합니다
뭐..간단하게 이야기 하자면 이런순으로 됩니다.
그런데 어떨땐 리부팅을 하라고 하고
어떨땐 그냥 설치가 되고
리부팅 하라는 경고를 무시하고 실행하면 버전업은 안되어 있고
이게 도대체...무슨말이란 말인가?
보통 이런 경우에는 개발자들 한테서 많이 발생합니다
일반적으로 사용할땐 거의 발생하지 않죠, 재수 없음 나올 수도 있습니다
음..뜸을 너무 들였나요?
이 문제는
위 설치과정대로...
정상적으로 설치되고 ocx까정 로딩되어 실행되어 있는 상태에서
refresh나 또는 새창으로 열기등을 하였는데 그 사이에 버전업이 되어 있는 경우입니다.
즉... ocx가 로딩 되어 있는 상태에서
CAB파일을 풀어서 해당 파일을 설치하고 레지스트리에 등록할라 했더만
이미 떡~하니 로딩되어서 메모리를 차지 하고 있으니 설치를 할 수가 없는 상태라 이거죠. 그래서 브라우저가..친절하게도 "니가 지금 리부팅하면 설치 해줄께! 리부팅할래? 말래?"라고 하는겁니다. 설치할려면 리부팅 해야 겠죠?
리부팅 하면 기존 설치 정 되로 해당 파일을 설치하고 레지스트리에 등록하게 됩니다.
가만? 꽁수가 있을듯 한데?? 라고 생각하신다면...
정말 대단하십니다! 라고 말해주고 싶군요~ 쿨럭~
넹... 리부팅 안하고 하는 방법..있습니다
그건..현재 로딩되어 있는 브라우저를 몽땅 종료하신다음
새로 브라우저를 실행하여 해보십시오.
제대로 설치가 될것입니다
주의>
브라우저를 [X]버튼 또는 ALT+F4로 종료하였는데도
똑같다...라고 하시는 분들...
ocx를 로딩아한 브라우저도 몽땅 죽이십시오.
이유 까정 적을려니..질질 끄는것 같고..생략..
그래도 안된다?
태스크메니저 띄워보세요. 간혹 iexplore.exe가 떠 있는 경우가 있습니다.
분명 다 죽였는데도 불구하고. 이런놈이 있으면 강제로 죽이십시오.
그러면 99.99999%는 해결 되실겁니다.
에고~~
횡설 수설이었다면 죄송~