Windows 7 で IE 6 を実行する方法 (その1)
仮想環境は、最新のオペレーティング システム (OS) 環境で、レガシー アプリケーションをサポートする、手っ取り早くて確実な方法です。最新 OS のテクノロジや前提コンポーネント、環境の違いにより、実行することができないアプリケーションでも、仮想マシンに旧 OS の環境をそっくりそのまま用意できるからです。
レガシー アプリケーションのよくある例に、Web アプリケーションがあります。Web ブラウザーは現在、単に Web ブラウジングだけでなく、オープンでクロス プラットフォームなアプリケーションのフロントエンドとして多用されています。しかし、テクノロジの変化や、開発者の技術不足など、さまざまな理由で、特定の Web ブラウザーの特定のバージョンや、特定の Java ランタイム環境 (JRE) を要求する Web アプリケーションが存在します。問題の Web ブラウザーが IE の場合、IE は OS のコンポーネントであるため、OS のアップグレードを阻害する大きな要因になります。問題が JRE のバージョンの場合、アプリケーションごとにアプリケーション専用の端末を準備するといった対応策が、実際によく用いられました。
仮想化テクノロジの登場と普及により、仮想マシンがレガシー アプリケーションの互換性ソリューションとして利用できるようになりました。旧 OS の環境でレガシー アプリケーションを実行できるので、互換性問題を簡単に解決できます。ただし、ユーザー エクスペリエンスという新たな課題が出てきます。仮想マシンのコンソールとホストのデスクトップを切り替えて使うのは、個人での利用なら問題にならないでしょう。しかし、企業用途ではユーザーを混乱させるだけでなく、生産性を低めてしまいます。
そこで、マイクロソフトは、単一のデスクトップに仮想環境のアプリケーションをシームレスに統合する、さまざまな方法を用意しました。これから Windows 7 で Internet Explorer (IE) 6 を動かしている 3つのデスクトップをお見せします。Windows 7 の IE 8 では JRE の最新バージョン 6 update 20 (この原稿の執筆時点) が動いています。そして、IE 6 では JRE の古いバージョン 1.4.2 Update 19 が動いています。さて、どのようなテクノロジで実現されているものか区別が付くでしょうか?
(A) Windows 7 上で動く IE 6 と JRE 1.4.2 Update 19 の Web ブラウザー環境。上の Web ブラウザーはローカルの IE 8 と JRE 6 Update 20

(B) Windows 7 上で動く IE 6 と JRE 1.4.2 Update 19 の Web ブラウザー環境。上の Web ブラウザーはローカルの IE 8 と JRE 6 Update 20

(C) Windows 7 上で動く IE 6 と JRE 1.4.2 Update 19 の Web ブラウザー環境。上の Web ブラウザーはローカルの IE 8 と JRE 6 Update 20

(A) ・・・ Windows XP Mode
IE 6 のウィンドウは、Windows XP Mode のゲスト OS (Windows XP Professional SP3) の IE 6 に、JRE 1.4.2 Update 19 をインストールしたものを、仮想アプリケーション モードで起動したもの。仮想マシンのコンソールに接続すると、こうなります。

(B) ・・・ Microsoft Enterprise Desktop Virtualization (MED-V)
デスクトップのアイコンを見れば、MED-V クライアントがインストールされていることがわかるでしょう。MED-V の仕組みやメリットについては、次回以降で紹介します。
(C) ・・・Windows Server 2008 R2 リモート デスクトップ サービスの仮想デスクトップ (Microsoft VDI)
タスク バーのアイコンやデスクトップ上の RDP ファイルを見るとわかるように、IE 6 のウィンドウはリモートデスクトップ接続クライアント (Mstsc.exe) が表示してます。リモートデスクトップ接続クライアントの接続先が何者かは、画面表示からは分からないでしょう。接続先が物理コンピューターでも、別のコンピューター上の Windows XP Mode やその他の仮想マシンでも、VDI でも見た目はまったく同じです。(C) は、VDI の仮想デスクトップ プールにある Windows XP Professional SP3 の仮想マシンに、RemoteApp 接続したところです。
(C) にはもう1つ秘密があります。実は、接続先の仮想マシンの IE 6 環境には、いかなるバージョンの JRE もインストールされていません。どういうことなのか、その秘密についても次回以降で種明かししましょう。