영상노하우&사이트

[스크랩] Internet Explorer 10에서 ActiveX 실행하기

jieuny21 2013. 8. 3. 13:31

나름 얼리어댑터 부류라 생각하던 내가 Internet Explorer 10에 한해서는 상당하다 할 정도로 설치하기 망설였던 대표적인 이유는 다음 두 가지였다. (남들보다 물건 빨리 사고 뭐 이런 얼리어댑터 아님, 신기술에 대한 적응력 차원.)


1. 각종 통신사, 보험사 등에서 보내는 이메일 명세서 같은 보안 메일을 열 수 없다.

2. 은행 인터넷 뱅킹을 할 수 없다.


두 이유의 공통적인 더 근원적인 이유는 ActiveX가 동작하지 않기 때문이었다. (꽤 오래전 얘기지만)


그래서 지금껏 계속 IE 9 버전을 고집하며 (사실은 별 생각없이, 실제로는 크롬을 메인 브라우저로 쓰고 있으니까) 살아왔는데,

인간적으로 IE 9는 느려도 너무 느리다.


그러다가 HTML5 관련 스크립트 엔진을 사용해야 할 일이 많았는데, 너무너무 느려서, 진짜 속터지게 느려서,

특히 Exchange OWA 2013을 브라우징하기엔 크롬에 비해 하늘과 땅 차이만큼이나 느려서, 그럼에도 불구하고 써야 할 일이 많아서

오늘 아침에 확! 충동적으로 IE 10으로 올려버렸다.

(이것도 우여곡절이... IE 9를 이용해서 접속한 Microsoft 공식 Internet Explorer 10 홈페이지에서는 업그레이드 버튼이 0.1초 정도 나타났다가 바로 사라져버려서 업데이트를 할 수가 없었다. 이건 하라는건지, 하지 말라는건지... 아무튼 수십 번의 시도 끝에 간신히 클릭에 성공, 설치할 수 있었다.)


아무튼 IE 10을 설치하고 나니, 역시 통신사 보안 메일이 열리지 않았다.

한참을 이것저것 옵션도 만져보고, 보안설정도 건드려보고 했지만 별 뾰족한 방법이 없었다.

인터넷을 검색해보니 갖가지 별 해괴한 방법이 다 나오는데, 거의 해킹이나 스스로 자폭하는 수준의 글들이 더 많았고

그러느니 뭣하러 IE 10을 깔았냐, 하는 소리가 나올 만한 경우도 상당히 많이 보였다.


내 경우에는, F12 개발자 모드를 실행해서 브라우저를 IE7 모드로 바꾸면 뭔 이미 설치되어 있는 ActiveX를 또 깔아야 된다면서 아래쪽에 노란 줄이 생겼었다.



위 그림처럼, 나와야 하는 ActiveX 팝업창이 나오지 않고 멍청~. Internet Explorer 7 모드로 바꿔도 마찬가지였다.

뭐가 문제일까, 곰곰히 생각하다가, 64비트 모드에서는 ActiveX가 실행되지 않는다는 얘기를 어디서 본 기억이 떠올라서

부랴부랴 Process Explorer를 실행해봤다.



얼씨구. iexplore.exe 프로세스가 64비트 단일 모드로 떠있다.

혹시나 싶어 32비트 프로그램이 있는지 찾아봤다. 있긴 있다. C:\Program Files (x86)\Internet Explorer\iexplore.exe 프로그램이.

그런데 그걸 실행해도 똑같이 64비트 프로그램만 뜬다. 아예 32비트용은 실행 자체가 되질 않는다.


게다가, IE 8부터는 보통 메인 프로세스 하나에 서브 프로세스들이 탭 갯수만큼 실행되는 구조라고 알고 있었는데, 이건 뭥미? 이상해서 인터넷 검색을 좀 더 해봤다.


>> 참고: 윈도 개발자 센터 - Internet Explorer 10 32비트 실행.


위 링크 주소에 관련 내용이 들어 있었다.

즉, 기본 부모 프로세스는 무조건 64비트로 뜨고 자식 프로세스는 "향상된 보호 모드 사용" 옵션에 따라 64비트나 32비트가 뜬다는 것이다.


내 경우를 확인해보니 "향상된 보호 모드 사용" 옵션은 당연히 꺼져있었는데, 그래도, 그것과 관계 없이 아예 자식 프로세스가 뜨질 않는 것이었다. 이에 대한 해답 역시 위 링크 주소에 나와 있었다.


아래의 글을 참고하시면,


IE 8 - TabProcGrowth 레지스트리 설정

; http://www.sysnet.pe.kr/2/0/686


아마도, 에이왁스 님의 컴퓨터는 TabProcGrowth 값이 0 으로 되어 있을 것입니다. IE 10 에서 Frame 측이 무조건 64비트로 뜨는 것 때문에 TabProcGrowth 값이 0 으로 설정된 경우 무조건 64비트로 뜨는 문제가 발생하는군요. 일단 해결하려면 그 값을 삭제하시고요.


경우에 따라서, ActiveX 중에 하나가 그 값을 무조건 0으로 설정하는 것들이 있습니다. 그런 경우에는 다시 예전과 같은 상황이 나타날 것입니다.


2012년 10월 30일 화요일 오후 12:14


SeongTae Jeong JENNIFERSOFT(MVP) 


즉, 레지스트리의 HKCU\Software\Microsoft\Internet Explorer\Main 부분의 TabProcGrowth 값이 0으로 들어 있으면 그런 현상이 생긴다는 것이었다.


확인해보니,



맞다. 진짜다.


저 레지스트리 값을 삭제했다.




다시 Internet Explorer를 실행해보니, 와! 제대로 부모-자식 프로세스가 잘 뜬다.




다시 보안 메일 HTML 파일을 로드한 다음, F12 모드로 들어가서 Internet Explorer 7 모드로 바꾸니, 짠! 하고 위와 같이 정상적으로 ActiveX 팝업이 뜬다.


끝.





출처 : 떼르미의 『IT, 그리고 세상』
글쓴이 : 떼르미 원글보기
메모 :