Microsoft MVP성태의 닷넷 이야기
Windows: 53. 2가지 모드의 Internet Explorer 10과 ActiveX [링크 복사], [링크+제목 복사]
조회: 57389
글쓴 사람
정성태 (techsharer at outlook.com)
홈페이지
첨부 파일
 
(연관된 글이 2개 있습니다.)

2가지 모드의 Internet Explorer 10과 ActiveX

윈도우 8에 소개된 (Platform Preview 3 버전에 해당하는) IE 10은 2가지 모드로 구동이 되는 특징이 있습니다. 바로 "메트로 스타일" 유형(Metro style app)과, 기존 Win32 응용 프로그램 유형(Desktop app)이 그것인데요.

기존 유형의 것은 이제까지 우리가 사용해 온 UI이기 때문에 생략하고, "메트로 스타일의 IE"는 다음과 같은 식으로 실행이 됩니다.

win8_server_preview_5.png

보시는 것처럼, 대부분의 IE 메뉴가 생략되며 태블릿 PC에서 사용할 정도의 최소화 된 하단의 버튼들과 상단의 "탭"들이 제공됩니다. (위의 화면은 마우스 오른쪽 버튼을 눌러 상단/하단 영역이 보이도록 한 것입니다.)




먼저, 데스크톱 유형의 IE 10을 살펴볼까요? ^^

사실 별로 바뀐 것은 없는데, 뚜렷하게 하나 바뀐 점이 있다면, 이전보다 더 적극적으로 64 비트 모듈을 사용하고 있다는 점입니다. 예를 들어, 기존의 IE 9에서는 iexplorer.exe 프로세스는 모두 32비트로 실행이 되었는데, IE 10에 와서는 x64 운영체제의 경우 기본적으로 LCIE의 "IE Frame"에 해당하는 프로세스가 64비트로 실행되도록 바뀌었습니다.

ie10_process_1.png

참고로, LCIE에 대해서는 다음의 글을 읽어보십시오.

IE 8: 프로세스와 윈도우의 관계 - LCIE
; https://www.sysnet.pe.kr/2/0/666

금일 진행되었던 마이크로소프트 IE 8 행사의 ActiveX 세션 PPT
; https://www.sysnet.pe.kr/2/0/673

IE 8 - TabProcGrowth 레지스트리 설정
; https://www.sysnet.pe.kr/2/0/686

하지만, 여전히 자식 프로세스는 32비트 모드이기 때문에 기존의 ActiveX 플러그인 모듈 지원은 정상적으로 되고 있습니다. 예를 들어, '알패스'까지도 정상적으로 구동되는 것을 확인했습니다. 물론, 아래의 방식을 사용해야 합니다.

Windows 7 64비트 + IE 8에서의 알패스 "자동 채움" 동작시키기
; https://www.sysnet.pe.kr/0/0/316

이 외에, 또 한가지의 64비트에 대한 지원이 눈에 띄는데요. 전에는 64비트 IE를 실행하려면 '시작' 메뉴에서 별도로 구분되어 있는 "Internet Explorer (64-bit)" 항목을 찾아들어가서 실행해야 했었는데, 이제는 32비트 용 아이콘으로 실행해도 64비트 IE가 실행될 수 있도록 다음과 같이 "Enable 64-bit Mode" 설정이 지원되고 있습니다.

ie10_process_2.png

이렇게 설정하고 IE를 다시 실행하면 LCIE 관계의 모든 iexplore.exe 프로세스가 64비트로 올라오는 것을 확인할 수 있습니다.

참고로, 이렇게 64비트로 실행하는 경우 가장 문제가 되는 것이 "Flash"인데요. 다행히 현재 Adobe 측에서 RC 버전의 64비트용 Flash Player를 제공해 주고 있기 때문에 이를 설치하면 정상적으로 플래시가 들어있는 사이트를 문제없이 이용할 수 있습니다.

Download Flash Player 11 Release Candidate for Desktops
; http://labs.adobe.com/downloads/flashplayer11.html

말할 필요도 없지만, 64비트 모듈을 제공하지 않는 (알패스를 포함해서) 기타 거의 대다수의 ActiveX들은 64비트 IE에서 동작하지 않습니다.




이제 메트로 스타일의 IE 10을 살펴볼까요?

이미 마이크로소프트의 블로그에서도 공개되어 알려진 것처럼 메트로 스타일의 IE 10에서는 더 이상 ActiveX를 지원하지 않습니다.

Metro style browsing and plug-in free HTML5
; http://blogs.msdn.com/b/b8/archive/2011/09/14/metro-style-browsing-and-plug-in-free-html5.aspx

게다가 64비트 운영체제에서는 '메트로 스타일의 IE'는 기본적으로 64비트로만 실행됩니다.

ie10_process_3.png

어차피 ActiveX가 지원되지 않도록 만든 이상, 64비트 IE에 가장 큰 걸림돌이 없어진 것이므로 충분히 이해가 되는 수준의 변화입니다. (Adobe가 애써 만든 64비트 Flash ActiveX 모듈은 결국 사장될지도 모르겠습니다.)

일반 '메트로 스타일'의 응용 프로그램과 다소 다른 점이 있다면 "Integrity" 수준이 "AppContainer"를 따르지 않고 LCIE의 전형적인 Medium/Low 값을 따르고 있습니다. iexplore.exe의 경로는 "데스크톱 App 유형의 IE"와 동일하지만, 명령행에서 "-ServerName" 옵션값이 추가된 정도의 특이점이 있습니다.

Path: C:\Program Files\Internet Explorer\iexplore.exe

Command line: "C:\Program Files\Internet Explorer\iexplore.exe" -ServerName:DefaultBrowserServer


결국 메트로 스타일의 IE 10이라고 해서 "데스크톱 App 유형의 IE"와 비교해서 특별하게 다른 점이 있는 것은 아니기 때문에 ActiveX가 막히게 된 것은 순전히 정책적인 결정에 의해서 그렇게 된 것 같습니다.

어쨌든, iPad를 사용하면서도 느낀 것이지만 알패스와 같은 류의 프로그램이 안되어 불편함이 따르는 것은 감수해야 할 것 같습니다. ^^





[이 글에 대해서 여러분들과 의견을 공유하고 싶습니다. 틀리거나 미흡한 부분 또는 의문 사항이 있으시면 언제든 댓글 남겨주십시오.]

[연관 글]






[최초 등록일: ]
[최종 수정일: 6/11/2021]

Creative Commons License
이 저작물은 크리에이티브 커먼즈 코리아 저작자표시-비영리-변경금지 2.0 대한민국 라이센스에 따라 이용하실 수 있습니다.
by SeongTae Jeong, mailto:techsharer at outlook.com

비밀번호

댓글 작성자
 



2011-09-17 08시02분
[네몽] 어차피 제스쳐 안되면 IE 쓸일이 딱히 없는거 같아요.. 터치환경이라면 모를까.. 어쩔수 없이 알툴바 쓰는데..
이것만 깔면 IE가 6보다 느려지니 빨라봐야 의미도 없고.. 정전식 멀티터치 되는 모니터나 싸게 나와야 할텐데..
[guest]
2011-09-17 08시04분
[네몽] 추가로.. 크롬14부터 액티브X 와 같이 네이티브한 어플설치를 지원한다고 하는군요.
[guest]
2011-09-17 08시44분
그러게요. 제대로 된 터치 모니터가 나와줘야 하겠지요. ^^ (터치가 안되는 기존의 데스크톱 시장에서는 메트로 UI가 그다지 의미가 없을 것입니다.) 하지만, 마이크로소프트와 같은 기업 입장에서는 앞으로의 시장 변화를 대비해야 하기 때문에 위와 같은 변화는 어쩌면 당연한 것이라고 보여집니다. (게다가 앞으로도 나오게 될 타블렛 영역은 무시 못 할 시장이겠지요.)

그나저나... 재미있군요. ^^ 알툴바만 깔면 IE 6보다 느려지나요?

크롬은 어차피 마찬가지의 문제가 발생할 것입니다. ActiveX도 반대하는 지금의 분위기에서 크롬에서 Native 어플 설치를 지원한다고 해서 공인인증서 관련 ActiveX들이 크롬용으로 바뀌지는 않을 것입니다. 게다가, 네이티브 어플일 것이기 때문에 C/C++로 만들어진 모듈일 것이므로 ARM용 윈도우 8에서는 어차피 실행이 안될 것이고. (아니면, 2가지 CPU 모두 지원하는 버전으로 만들어야겠지요.)
정성태
2011-09-19 10시47분
[네몽] IE9 에 알툴바를 깔면 실행부터 페이지로딩부분까지 느려집니다.. 피싱방지기능+동영상과 이미지 긁어오기기능등등 이 있어서 그런지
느려지네요.. 제스쳐만 해결 되면 당장 바꿀텐데. 산으로가는 크롬.. 확장어플만 되면 ie를 그대로 사용할텐데.. 그나마 파폭이이라도 있으니 다행입니다..

메트로 UI는 마우스만으로도 충분히 좋아보입니다.. PC를 사용하지 않을 때도 먼가 뿌려주기 때문에..모니터링 역활도 하니까요.
듀얼모니터이상에서 한쪽 모니터만 메트로를 사용도 가능한지도 봐야겠네요..
[guest]
2012-10-04 01시23분
[201000] 글 감사합니다 :) 질문이 있는데요! 윈도우8 에서 그럼 이전처럼 32비트 익스플로러를 사용하고 싶으면 어찌 해야 되는지요? 은행업무는 64비트 익스플로러에서는 아예 불가능 하네요..ㅠㅜ
[guest]
2012-10-05 07시40분
64비트 윈도우 8에서, 그냥 데스크톱용 IE를 실행하면 32비트 IE가 실행됩니다. 데스크톱 모드로 전환한 다음, 작업 표시줄에 기본 등록되어 있는 IE 아이콘을 눌러서 실행하면 그것이 32비트 IE입니다.
정성태

1  2  3  4  5  6  7  8  [9]  10  11  12  13  14  15  ...
NoWriterDateCnt.TitleFile(s)
13405정성태9/3/20233973닷넷: 2138. C# - async 메서드 호출 원칙
13404정성태8/29/20233502오류 유형: 876. Windows - 키보드의 등호(=, Equals sign) 키가 눌리지 않는 경우
13403정성태8/21/20233321오류 유형: 875. The following signatures couldn't be verified because the public key is not available: NO_PUBKEY EB3E94ADBE1229CF
13402정성태8/20/20233397닷넷: 2137. ILSpy의 nuget 라이브러리 버전 - ICSharpCode.Decompiler
13401정성태8/19/20233622닷넷: 2136. .NET 5+ 환경에서 P/Invoke의 성능을 높이기 위한 SuppressGCTransition 특성 [1]
13400정성태8/10/20233480오류 유형: 874. 파이썬 - pymssql을 윈도우 환경에서 설치 불가
13399정성태8/9/20233463닷넷: 2135. C# - 지역 변수로 이해하는 메서드 매개변수의 값/참조 전달
13398정성태8/3/20234274스크립트: 55. 파이썬 - pyodbc를 이용한 SQL Server 연결 사용법
13397정성태7/23/20233780닷넷: 2134. C# - 문자열 연결 시 string.Create를 이용한 GC 할당 최소화
13396정성태7/22/20233488스크립트: 54. 파이썬 pystack 소개 - 메모리 덤프로부터 콜 스택 열거
13395정성태7/20/20233408개발 환경 구성: 685. 로컬에서 개발 중인 ASP.NET Core/5+ 웹 사이트에 대해 localhost 이외의 호스트 이름으로 접근하는 방법
13394정성태7/16/20233363오류 유형: 873. Oracle.ManagedDataAccess.Client - 쿼리 수행 시 System.InvalidOperationException
13393정성태7/16/20233544닷넷: 2133. C# - Oracle 데이터베이스의 Sleep 쿼리 실행하는 방법
13392정성태7/16/20233434오류 유형: 872. Oracle - ORA-01031: insufficient privileges
13391정성태7/14/20233480닷넷: 2132. C# - sealed 클래스의 메서드를 callback 호출했을 때 인라인 처리가 될까요?
13390정성태7/12/20233438스크립트: 53. 파이썬 - localhost 호출 시의 hang 현상
13389정성태7/5/20233467개발 환경 구성: 684. IIS Express로 호스팅하는 웹을 WSL 환경에서 접근하는 방법
13388정성태7/3/20233580오류 유형: 871. 윈도우 탐색기에서 열리지 않는 zip 파일 - The Compressed (zipped) Folder '[...].zip' is invalid. [1]파일 다운로드1
13387정성태6/28/20233614오류 유형: 870. _mysql - Commands out of sync; you can't run this command now
13386정성태6/27/20233688Linux: 61. docker - 원격 제어를 위한 TCP 바인딩 추가
13385정성태6/27/20233902Linux: 60. Linux - 외부에서의 접속을 허용하기 위한 TCP 포트 여는 방법
13384정성태6/26/20233641.NET Framework: 2131. C# - Source Generator로 해결하는 enum 박싱 문제파일 다운로드1
13383정성태6/26/20233394개발 환경 구성: 683. GPU 런타임을 사용하는 Colab 노트북 설정
13382정성태6/25/20233454.NET Framework: 2130. C# - Win32 API를 이용한 윈도우 계정 정보 (예: 마지막 로그온 시간)파일 다운로드1
13381정성태6/25/20233852오류 유형: 869. Fatal Python error: init_fs_encoding: failed to get the Python codec of the filesystem encoding
13380정성태6/24/20233290스크립트: 52. 파이썬 3.x에서의 동적 함수 추가
1  2  3  4  5  6  7  8  [9]  10  11  12  13  14  15  ...