異なるバージョンのMicrosoft Internet Explorerを共存させてみる。
概要
この文章はインストールされているバージョンと異なるIEを動作させる手順を説明します。
動作確認を行ったバージョンは次の通りです。
- 4.01 SP1(for NT)
- 5.01(for NT)
- 5.5 SP2(for Windows 2000)
ScreenShots
必要なもの
- Microsoft Windows(R) 2000/XP
- Microsoft Internet Explorer 4.01/5.01/5.5のインストールパッケージ
注意
この文章内で説明するような意図されていない利用によって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と同じフォルダにタブブラウザなどを配置し、
さらにタブブラウザの実行ファイルに対し.localファイルを配置することで
本来と異なるIEのバージョンでタブブラウザを起動出来ます。
-
98SE/MeにもSide-by-Side共有は実装されていますが
IEのバージョンチェックに引っ掛かり4は起動出来ないと思われます。
9xではどこまで出来るか試していません。
-
現行のバージョンも含め旧版にはさらに多くのセキュリティホールが存在するので修正を適用するか最低減の利用にとどめるべきです。
-
本来インストール対象でないOSで実行する場合ライセンス的にはあやしいものがあります。
at your own riskで。
何故起動できるのか?
普通異なるバージョンのiexplore.exeを実行した場合、起動しない、現在のバージョンで起動、UIのみ異なるバージョンで起動(レンダリングエンジンは現在のもの)となるはずですが、
98SE/2000以降で実装されたSide-by-Side共有(DLLリダイレクション)を利用することで強制的に異なるバージョンのライブラリで動作させます。Side-by-Side共有の詳細はMSDNなどを参照してください。