Windows 7 で IE 6 を実行する方法 (その5) – RemoteApp で App-V
Microsoft Application Virtualization (App-V) で、Internet Explorer (IE) を仮想化して配信することはできません。IE は、OS のコンポーネントであり、特定の Windows バージョンに大きく依存するからです。
IE を仮想化することはできませんが、IE のプラグイン、例えば Java Runtime Environment (JRE) を仮想化して配信することは可能です。
JRE を仮想化する場合、配信した JRE は、配信先のローカル コンピューターに存在する IE の環境にロードされます。IE 6 と JRE の組み合わせを App-V で実現したい場合は、シーケンス用のコンピューターとして IE 6 環境の Windows XP Professional を準備し、App-V Sequencer を使用して、IE 6 への JRE のインストールを監視させます。
JRE のインストールが完了すると、App-V Sequencer は JRE のアプリケーションのみを検出します。ここで、手動で IE 6 のパス (ローカル コンピューター上の IE 6 のパス) を追加しておきます。IE 6 の本体は配信パッケージには含まれませんが、JRE の実行環境内で共にに動作する IE のショートカットを追加できます。
JRE の複数のバージョンそれぞれで、シーケンスを実行し、パッケージを作成しておけば、IE 6 を実行する Windows XP Professional クライアントに対して、異なるバージョンの JRE 環境を提供することができます。App-V の仮想ランタイム環境 (System Guard) は、ローカルの OS 環境だけでなく、他のローカル アプリケーション や仮想アプリケーションとも分離された環境であるため、競合することなく、複数の JRE 環境を同時実行できます。
前回も触れましたが、App-V の仮想アプリケーションは、配信先となるクライアントと同じ OS 環境 (同一バージョンの同一サービスパック レベル) のコンピューターでシーケンシングすることが基本です。IE のプラグインを仮想化する場合は、IE のバージョンも一致させておくことが必要です。
App-V は、アプリケーションの実行環境を仮想化して、差分を吸収しますが、Windows バージョンの違いまでは吸収できません。仮に、IE 6 環境で仮想化した JRE を、Windows 7 クライアントに配信したとしたら、JRE は IE 8 にロードされることになります。試していませんが、正常に動作するとは思えません。
App-V の仮想アプリケーションの配信先として、VDI はとても都合の良いものです。仮想マシンなので、さまざまな Windows バージョンや、 IE バージョンの環境を仮想デスクトップ プールとして、いつでもクライアントに提供できます。App-V の仮想アプリケーションにとって、クライアントは VDI の仮想デスクトップであり、最終的な物理クライアントの Windows バージョンには影響されません。
VDI の仮想デスクトップに App-V の仮想アプリケーションを配信した場合、通常の方法では、物理クライアントと仮想デスクトップのデスクトップを切り替えてアプリケーションを利用することになります。
Windows Server 2008 R2 のリモートデスクトップ サービス (RDS) ベースの VDI の場合、仮想マシンへの接続は RDP (リモート デスクトップ プロトコル) なので、RemoteApp を使用して、アプリケーションをクライアントから直接起動し、クライアントのデスクトップ上でシームレスに操作することができます。その方法については、前の投稿でも説明しました。
では、App-V の仮想アプリケーションに対して RemoteApp 接続するにはどうすればよいのでしょうか。簡単です。仮想マシンに配信されたアプリケーションのショートカットを確認すればよいのです。
ショートカットは、次のようなパスになっており、sfttray.exe というプログラムを使用して、App-V の仮想アプリケーションを起動する指定がなされています。
“C:\Program Files\Microsoft Application Virtualization Client\sfttray.exe” /launch “App-V の仮想アプリケーションの名前”
デスクトップ OS への RemoteApp 接続については、こちらの投稿で説明しました。上記のコマンドラインを指定するには、次のように RDP ファイル (以下の記述は Windows XP への接続の場合) の remoteapplicationprogram にsfttray.exe のパス (“”による囲みは不要)を記述し、remoteapplicationcmdline に /launch 以降の引数を記述します。
———————————————————————-
disableremoteappcapscheck:i:1
alternate shell:s:rdpinit.exe
remoteapplicationmode:i:1
remoteapplicationprogram:s:C:\Program Files\Microsoft Application Virtualization Client\sfttray.exe
remoteapplicationname:s:Internet Explorer 6 with JRE 6
remoteapplicationcmdline:s:/launch “Internet Explorer 6 with JRE 6 Update 20 6.0.6.20″
———————————————————————-
次回は、RemoteApp と VDI の関係についてもう少し深く掘り下げてみたいと思います。