異なるバージョンのMicrosoft Internet Explorerを共存させてみる。


概要

この文章はインストールされているバージョンと異なるIEを動作させる手順を説明します。

動作確認を行ったバージョンは次の通りです。

ScreenShots

必要なもの

注意

この文章内で説明するような意図されていない利用によってWindowsに何らかの問題が生じたとしても一切の責任は負いません。 また、(現在もですが)将来に渡ってこの手段が利用出来るという保証はありません。自己責任でご利用ください。

依存コンポーネントの関係上、実際のバージョンとは異なる表示となる場合があります。完全な表示はVirtualPC、VMWare等を利用して正しいOSとIEの組み合わせで確認してください。

インストール

インストール方法は4.01と5で若干異なります。

共通

IEのインストールパッケージ、IEW2K_*.cab、IENT_*.cabを適当なフォルダに展開します。

次にSide-by-Side共有を有効にするためにiexplore.exe.localというファイルをiexplore.exeと同じフォルダに作成します。中身は空っぽでも構いません。

あとはiexplore.exeを実行してください。

5.x

展開したフォルダのshlwapi.dllとcomctl32.dllというファイルを削除します。

確認されている問題点

共通
セキュリティホールが存在します。
現在インストールされているバージョンより新しいバージョンは動かない可能性が高いです(IE5.5の環境でIE6.0は起動しなかった)。
バージョン情報に現在インストールされているバージョンナンバーが混ざります。
並列して異なるバージョンのIEを起動していると他の(WebBrowserコントロールホスト)プロセスに何故か影響が出ることがあります。
4.01
アドレスバーが表示されません。
2000上ではかなり不安定。Donutなどを使わないと表示すらままなりません。
5
メニューのお気に入りを開こうとするとIEがクラッシュします。エクスプローラバーであれば大丈夫です。

メモ

何故起動できるのか?

普通異なるバージョンのiexplore.exeを実行した場合、起動しない、現在のバージョンで起動、UIのみ異なるバージョンで起動(レンダリングエンジンは現在のもの)となるはずですが、 98SE/2000以降で実装されたSide-by-Side共有(DLLリダイレクション)を利用することで強制的に異なるバージョンのライブラリで動作させます。Side-by-Side共有の詳細はMSDNなどを参照してください。