2009/12/21

KB961741 と KB961742 で、VDI + RemoteApp も可能になる (その1)

Windows Virtual PC と Windows XP Mode のリリースと同時期に公開された更新プログラム KB961741 と KB961742 は、Windows Vista Enterprise/Ultimate SP1 以降および Windows XP Professional SP3 の仮想マシンで、XP Mode と同じようにアプリケーション モードの実行をサポートするためのものです。XP Mode は、この更新プログラムを含む Windows XP 仮想マシンのイメージと、セットアップ機能を統合したものと言えます。

KB961741: RemoteApp を有効にするための Windows Vista SP1 以降用の更新プログラム
KB961742: RemoteApp を有効にするための Windows XP SP3 用の更新プログラム

更新プログラムの名称が “RemoteApp を有効にするための” とあるように、Windows Virtual PC のアプリケーション モードは、Windows Server 2008 のターミナル サービスや Windows Server 2008 R2 のリモート デスクトップ サービスが提供する RemoteApp のテクノロジを利用したものです。そして、これらの更新プログラムの説明には、“このパッケージにより、Windows Virtual PC、またはリモート デスクトップ仮想化ホストの役割サービスがインストールされたリモート デスクトップ サービスを使用して、Windows 7 ベースの PC から多くの Windows Vista (Windows XP) 生産性アプリケーションを実行できるようになります。” とあります。つまり、これらの更新プログラムによって、Hyper-V 上の Windows Vista Enterprise/Ultimate SP1 以降 または Windows XP Professional SP3 を実行する仮想マシン内のアプリケーションを、RemoteApp プログラムのようにクライアントのデスクトップに統合できるようになります。Windows Vista や Windows XP のリモート デスクトップ接続機能は、ターミナル サービスのサブセットですが、RemoteApp のサポートを追加できるのです。ちなみに、Windows 7 Enterprise および Ultimate には、この機能が標準で備わっています。

まず、Windows 7 Enterprise または Ultimate でこの機能を試してみましょう。1 台は物理コンピューター、もう 1 台は Hyper-V 上の仮想マシンです。仮想マシンの Windows 7 では、リモート デスクトップ接続を有効にしています。(実は、どちらも物理環境、仮想環境を問いませんし、VirtualBox や VMware 上の仮想マシンでも構成できます)
1. 仮想マシンに管理者でログオンし、インストール済みのアプリケーションを RemoteApp プログラムとして公開するための設定を行います。そのためには、TSAppAllowList というレジストリにアプリケーションのエントリを登録します。以下の設定は、Adobe Reader 9 の例です。























レジストリ エディターを操作する代わりに、次のようなレジストリ ファイル (.REG) を作成して、登録することもできます。

AllowRemoteApp_RcroRd32.reg
(REG ファイルを使用する場合は、値データの中の \ を \\ にすることに注意)
-----------------------------------------------------------------------------------
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Terminal Server\TSAppAllowList\Applications\AcroRd32]
"CommandLineSetting"=dword:00000000
"RequiredCommandLine"=""
"IconIndex"=dword:00000000
"IconPath"="%SYSTEMDRIVE%\\Program Files\\Adobe\\Reader 9.0\\Reader\\AcroRd32.exe"
"Path"="C:\\Program Files\\Adobe\\Reader 9.0\\Reader\\AcroRd32.exe"
"ShortPath"="C:\\PROGRA~1\\READER~1.0\\AcroRd32.exe"
"VPath"="%SYSTEMDRIVE%\\Program Files\\Adobe\\Reader 9.0\\Reader\\AcroRd32.exe"
"ShowInTSWA"=dword:00000001
"Name"="Adobe Reader 9"
"SecurityDescriptor"=""
-----------------------------------------------------------------------------------

仮想マシンはログオフした状態にしておきます。

2. クライアントとなる Windows 7 コンピューターにログオンし、次のような RDP ファイルを作成します。

AcroRd32_directtowin7.rdp
-----------------------------------------------------------------------------------
full address:s:仮想マシンのコンピューター名、FQDN、または IP アドレス
server port:i:3389
alternate shell:s:||AcroRd32
remoteapplicationmode:i:1
remoteapplicationprogram:s:||AcroRd32
remoteapplicationname:s:Adobe Reader 9
remoteapplicationcmdline:s:
-----------------------------------------------------------------------------------
 
3. 作成した RDP ファイルをダブルクリックして、接続を開始します。
 

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
仮想マシンにインストールされている Adobe Reader 9 が起動します。ローカルに Adobe Reader がインストールされていないことに注目してください。また、タスク バーにサムネイルが表示されずに、“Adobe Reader (リモート)” と表示されていることに注目してください。いずれも RemoteApp と同じエクスペリエンスです。違う点は、アプリケーションを実行、提供しているのが、ターミナル サービスやリモート デスクトップ サービスではなく、Hyper-V 上の Windows 7 仮想マシンであるという点です。

更新プログラム KB961741 と KB961742 を使用すると、Windows Vista や Windows XP の仮想マシンで同じことを実現できます (クライアントは Windows 7 である必要があります)。通常の RemoteApp だと、Windows Server 2008 や Windows Server 2008 R2 に対応したアプリケーションしか提供できませんが、この方法だと、レガシ アプリケーションを RemoteApp で提供できます。また、Windows Virtual PC のハードウェア要件 (Intel VT または AMD-V) を満たさないコンピューターでも、Windows XP Mode と同様の環境を構築できます。

Windows Server 2008 R2 のリモート デスクトップ サービスに追加された新機能である VDI と組み合わせれば、クライアントや仮想デスクトップ、リモート デスクトップ セッションに対して、個人用デスクトップや仮想デスクトップ プールからレガシ アプリケーションを提供することができます。次の画面は、Windows 7 の仮想デスクトップ プールに接続し、そこから Windows Vista を実行する個人用デスクトップ内の Windows メールと Windows のバージョン情報を実行していることころです。























なお、仮想マシンのアプリケーションを RemoteApp プログラムとして公開するには、レジストリの編集が必要としましたが、Windows Server 2008 R2 の RemoteApp マネージャーを仮想マシンにリモート接続することで、仮想マシンのアプリケーションの登録と RDP ファイルの生成が可能でした。次の画面は、RemoteApp マネージャーを WindowsVista 仮想マシンに接続したところです。





















VDI との連携については、次回掲載予定です。