좋은 질문입니다 ^^
아쉽게도, 그에 대한 (일반 수준의) 멋있는(!) 처리 방법은 없는 것 같습니다.
IE에 임베딩된 형태의 DLL을 처리해주는 것은 IEHost.dll의 몫입니다.
DLL 자체의 특성 때문에, 런타임 버전을 지원해 주는 기능은 처리하지 못합니다.
유일한 해결책인 것처럼 보이는 .config 파일의 requiredRuntime 요소는 아쉽게도 IE 임베딩된 형태에서는 처리되지 않습니다. 왜냐면, 하나의 EXE 프로세스에서 2개의 런타임을 지원하지 못하기 때문에 2개 이상의 IE 임베딩 컨트롤의 .config 파일에서 서로 다른 requiredRuntime을 지정하는 것은 맞지 않기 때문입니다.
그럼 어찌해야 할까요? ^^
C:\Program Files\Internet Explorer 폴더에 iexplore.exe.config 파일을 두는 것을 생각해볼 수 있습니다. 현재로서는, 이것이 최선의 방법이라고 보여집니다.
<configuration>
<startup>
<requiredRuntime imageVersion="v1.1.4322" version="v1.1.4322" />
<supportedRuntime version="v1.1.4322" />
</startup>
</configuration>
위와 같은 내용으로 구성해서 저장해 두시면 됩니다.
어쨌든... CLR이 1.1과 2.0 모두가 한 프로세스에 올라오도록 지원되지 않는 한, 위와 같은 식의 방법이 유일한 해결책일 것 같습니다.
아마도,,, 1.1과 2.0이 혼재하는 시기에는 1.1용 IE 구동 파일과 2.0용 IE 구동 파일을 별도로 만들어 두는 것도 개발자에게는 좋을 것 같네요. ^^
iexplore.exe 파일을 iexplore1.exe와 iexplore2.exe로 복사하고, 각각의 .config 파일을 지정한 후 실행하도록 하는 것.
[최초 등록일: ]
[최종 수정일: 6/27/2021]