IE8 + Visual Studio 2008에서 Script Error 뜨는 문제 해결하기

Internet Explorer 8과 Visual Studio 2008(2005 이상)을 함께 사용하다 보면, 클래스나 멤버를 추가하는 마법사 실행시 다음과 같은 스크립트 에러가 뜨는 경우를 보게 된다.

사용자 삽입 이미지

비쥬얼 스튜디오에서 스크립트 에러라니?


사실 스크립트 에러 자체는 별로 신경쓰이는 게 아닌지라, No를 누르고 그냥 지나가곤 한다. 어차피 Yes 누른다고 해도 별로 달라지는 건 없다. 정작 문제는 다음 화면에 있다.

예를 들어 어떤 클래스의 멤버함수를 추가하기 위해 마법사를 쓴다고 하면, 아래 이미지와 같이 리턴 타입과 파라미터 타입을 선택하는 콤보 박스가 아예 뜨질 않는다. 해당 항목을 비운 상태에서는 더이상 진행하는 것이 불가능하기 때문에 울며 겨자먹기로 수작업으로 일일히 추가해주는 수밖에 없다. 사실 좀 짜증나는 것일 따름이지만 공학도의 귀차니즘이란 다른 사람보다 이름만 같고 성격은 전혀 다른 분이기에...

사용자 삽입 이미지

이번에 MFC를 쓰면서 숙제 마감에 쫓겨서 정작 이 문제를 해결하기보다는 그냥 내가 직접 헤더와 소스에 추가해주는 방식으로 그냥저냥 넘겨왔는데, 숙제를 얼추 마무리하고 시간이 났기에 구글神님께 한번 여쭈어 보았다. 그랬더니 마이크로소프트에서 해결책(완전한 해결책은 아니고 임시방편책)을 올려둔 게 있었다.

보러가기 : Some VS2005 and VS2008 Wizards Pop Up Script Error.

다음과 같은 과정을 거치면 위와 같은 짜증나는 스크립트 에러를 더이상 보지 않아도 된다.
  1. regedit 를 실행한다.
  2. HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet
    Settings\Zones 로 찾아 들어간다.
  3. Zones 밑에 대략 0~4 정도의 key가 들어 있을 것이다. 여기에 1000이라는 이름의 key를 새롭게 추가한다. (이미 존재한다면 생략)
  4. 1000 아래에, DWORD(32-bit) 엔트리 하나를 추가하고, 이름을 1207 로 바꾼다.

사용자 삽입 이미지

위와 같은 과정을 수행한뒤, Visual Studio를 실행해보면 위와 같은 에러가 뜨지 않을 것이다. 만약 VS2005를 사용중이라면, 적어도 Service Pack 1 이상(OS가 비스타라면 비스타전용 SP1까지)이 설치되어 있어야 한다고 한다. (난 Windows 7에 VS2008이므로 패스)

심심해서 왜 이런 현상이 발생했던 것인지 한번 읽어보았더니, VS에서 사용하는 클래스 마법사(Class Wizard)는 IInternetSecurityManager라는 이름의 인터페이스를 통해 IE8의 component에 접근하게 되는데, 이때 URLACTION_ACTIVEX_OVERRIDE_REPURPOSEDETECTION라는 이름의 query를 IE8 쪽으로 날리게 된다고 한다.

근데 이 녀석이 종전까지는 없던 녀석이라(없던 녀석이었던지 IE가 막장이었던지) IE8 측에 이러한 유형의 요청에 대한 보안정책을 가지고 있지 않고, 그래서 그냥 죽여버리는 모양이다. 그리고 IE8에서의 옵션 설정으로는 이러한 정책을 변경하는게 어렵다는 이야기까지;;

그래서 이를 해결하기 위해 레지스트리를 직접 건드려 Class Wizard를 위해 1000이라는 이름의 Zone를 하나 만들고, 거기에 1207이라는 이름의 DWORD(이 녀석이 URLACTION_ACTIVEX_OVERRIDE_REPURPOSEDETECTION이다)를 하나 추가해 "1207이라는 이름의 요청은 안전한 녀석이다~"라는 것을 IE8에게 알려줌으로서 해결을 할 수 있다고.

이런걸 보면 Microsoft도 참...거시기하다.

2009/04/22 21:58 2009/04/22 21:58
카카달려
컴퓨터 2009/04/22 21:58

트랙백 주소 : http://kaka.pe.kr/trackback/151

  1. IE8 + Visual Studio 2008에서 Script Error 뜨는 문제 해결하기 tracked from ludin's story 2010/06/25 15:41  삭제

    출처 : Kaka's Sketchbook(VS2005 이상 적용사항입니다.Internet Explorer 8과 Visual Studio 2008(2005 이상)을 함께 사용하다 보면, 클래스나 멤버를 추가하는 마법사 실행시 다음과 같은 스크립트 에러가 뜨는 경우를 보게 된다. 비쥬얼 스튜디오에서 스크립트 에러라니?사실 스크립트 에러 자체는 별로 신경쓰이는 게 아닌지라, No를 누르고 그냥 지나가곤 한다. 어차피 Yes 누른다고 해도 별로 달라...

댓글을 달아 주세요

  1. 카루딘 2010/06/25 15:41  수정/삭제  댓글쓰기

    좋은자료 담아갑니다 ^0^

[로그인][오픈아이디란?]

Powerd by Textcube, designed by criuce
rss