VMware ThinApp 4.0
2008年6月10日にVMware ThinApp 4.0が発表されました。
ThinApp(旧名:Thinstall)はWindowsアプリケーションをPCに実インストールすることなくローカル実行させるソフトです(特別なサーバソフトは不要)。
ThinAppはアプリケーション仮想化ソフトと呼ばれることもありますが別マシンにあるアプリをターミナルサービスライクにリモート実行させるものではありません。
アプリケーション仮想化とは「あたかもアプリケーションをPCに実インストールしたかのように実行できる」という意味での解釈でよいかと思います。
実際には、Windowsアプリケーションごとに仮想OS(VOS:Virtual OS)が動的に生成されてその中でアプリケーションが実行されます。
・ThinAppはVMware Fusionでのユニティビュー機能やWindows Server 2008のRemoteApp機能とは全く異なる仮想化機能です。
・またサーバ側にインストールしたアプリをクライアント側から操作するCitrix XenApp(旧名:MetaFrame/Citrix Presentation Server)とも異なる機能です。
※最新のCitrix XenAppにはThinApp同様に「あたかもアプリケーションをPCに実インストールしたかのように実行できる」アプリケーションストリーミング機能も付いています。
言葉だけでThinAppでのアプリケーション仮想化を説明するのは難しいので実際の画像を用いて概要説明致します。
まずは下の画像をご覧下さい。
これはWindows Vistaに実インストールしたWord 2007と、ThinAppで構築(仮想化)したWord 97を同時に実行している様子です。
(手前のウィンドウがWord 2007で、奥のウィンドウがWord 97です)
【概要説明】
(1)ThinAppで構築したWord 97は仮想OSの中で実行されます。
※ここでの仮想OSというのは仮想マシンとは全く別の概念で、ThinAPPで構築されたWord 97実行専用の仮想OSを意味します。
(2)この仮想OSはWord 97を実行するためのレジストリ(仮想レジストリ)を持ちます。
(3)更にこの仮想OSはWord 97が実インストールされたかのような仮想ファイルシステムを持ちます。
※ThinAppでの仮想ファイルシステムというのはWindowsアプリが実インストールされたファイルシステム(DLL含む)を仮想的に再現したものです。
(4)ThinAppで構築したWord 97と実インストールされたWord 2007の間でのデータのコピー&ペーストは自由に行えます。
(5)ThinAppで構築したWord 97は実環境のリソース(フォント、プリンタ等)を使用できます。
(6)Word 97をThinAppで構築してWord 97の仮想実行環境を構築することをパッケージングと呼びます。
(7)Word 97実行中にそのオプション設定を変更した場合、その変更情報はユーザ別のサンドボックスと呼ばれるフォルダに保存されます。
(8)ThinAppではファイル(DLL等)の競合問題が発生しないため仮想化されたWord 97と同じく仮想化されたWord 2000を同時に実行することも可能です。
(9)ThinAppによる仮想アプリは内蔵ドライブ用量がごく限られたノートPC等で利用効果を発揮できます。
(10)2008年6月17日にリリースされたWine 1.0(Linux版)を導入して日本語環境も整備し、仮想化されたWord 97を起動しましたがWordのロゴ表示で停止しました。
(11)WindowsアプリをUSBメモリにインストールして使用可能とするソフトとしてPortable.Apps(ポータブルアプリケーション)というものもあります。
しかしその対象アプリはかなり限定されていてオープンソースではないWord 97等はサポート対象外になっています。
尚、このPortable.Appsでのポータブルアプリケーション(Mozilla Firefox Portable Edition等)はLinuxのWine環境でも動作可能です。
ここではThinAppの利用に関する基本事項を実例ベースで簡単に紹介します。
尚、ここではVMware ThinApp 4.0の60日間評価版を使用しています(パッケージングされたアプリの利用期間も最大60日間)。
1.ThinAppの導入
ThinAppは仮想化させたいWindowsアプリケーションを構築するOSに導入します。
例えば、Word 97を仮想化アプリとして構築するにはWord 97の実インストールに適したOS(例:Windows NT)にThinAppを導入します。
ThinAppは以下のOSにインストールできます。
・Windows NT/2000/2000 Server/XP/2003 Server/Vista(64ビット版のXP/2003 Server/Vistaを含む)
Windows VistaへのThinAppのインストール手順は以下の通りです(他のOSも同様です)。
- ThinAppインストーラ(英語版)の起動
VMware-ThinApp-4.0.0-2200.msi(全OS共通インストーラ)を起動します。
- ライセンス同意
- シリアルキー入力
シリアルキーの他にライセンス表示名(Licensed to xxxのxxx部分)も指定して<Install>ボタンを押します。
ライセンス表示名を例えば「myThinApp」とした場合、そのThinAppで仮想化されたアプリを起動した際のLaunchingミニウィンドウに「Licensed to myThinApp」と表示されます。
- ファイルインストール
- インストールの完了
2.VMware Workstation 6の導入(推奨)
VMware ThinApp 4.0にはVMware Workstation 6もセットになっています。
これはできるだけクリーンなOS環境でアプリケーションをパッケージングできるように意図されたものです。
(VMware Workstation 6はVMware-workstation-6.0.4-93057.exeとして提供されています)
このVMware Workstation 6の導入自体はあくまでも任意ですが導入が推奨されています。
3.Word 97パッケージングの手順
ここではWindows NT 4.0環境のThinAppでOffice 97付属のWord 97をパッケージングする手順を紹介します。
- ThinAppの導入
Windows VistaへのThinAppのインストール手順と同じ手順でWindows NT 4.0環境にThinAppをインストールします。
- Word 97のパッケージング
- ThinApp Setup Captureの起動
まずThinApp Setup Captureを起動します。
ThinApp Setup CaptureはWindowsアプリケーションの実インストールを監視し、Windowsアプリケーションを仮想化(パッケージング)するツールです。
- Welcome to Setup Capture
<Next>ボタンで先に進みます。
- Saving Snapshot
Windowsアプリケーションのインストール前の実OS環境の構成(レジストリ等)を自動保存します。
- Installation画面の最小化
Installation画面には以下の表示がされます。
How to Install:
1. Minimize this screen
2. Install and configure your application
3. Maximize this screen. Click "Next"
上記手順に従い、そのInstallation画面を最小化します。
- Word 97の実インストール
Office 97付属のWord 97を実インストールします。
Office 97のインストーラはインストール後のOS再起動を強要します。
ThinApp Setup Captureはアプリケーションインストール直後のOS再起動にも対応していますので安心してOSを再起動します。
- ThinApp Setup Captureの再起動
[Continue installation process]オプションが自動でonになっていますので<Next>で先に進みます。
- Installation画面
既にWord 97のインストールが完了しているためInstallation画面の<Next>で先に進みます。
- Select画面
ここでパッケージングする対象を選択します。
通常は「Microsoft Word.exe」含めてデフォルトのパッケージング対象のままで構いません。
Inventory name(Sandbox名)もデフォルトの「Microsoft Office 97, Professional Edition」のままとします。
<Next>で先に進みます。
- Sandbox location画面
デフォルトのままで構いません。
- 途中の画面
デフォルトのままで構いません。
- MSI generationオプション
[Build MSI package]をonにします(任意)。
これによってパッケージ群の中に「Microsoft Office 97, Professional Edition.msi」も自動生成されます。
- ビルド実行画面
パッケージ生成(仮想化アプリのビルド)の構成情報は次のファイルに定義されています(カスタマイズ可)。
・C:\Program Files\VMware\VMware ThinApp\Captures\Microsoft Office 97, Professional Edition\Package.ini
(C:\Program Files\VMware\VMware ThinApp\Captures\Microsoft Office 97, Professional EditionはHKEY_LOCAL_MACHINE.txt等のレジストリ情報も含みます)
ビルド実行画面で<Build Now>ボタンを押してWord 97のパッケージを作成します。
パッケージはC:\Program Files\VMware\VMware ThinApp\Captures\Microsoft Office 97, Professional Edition\binの中に作成されます。
主なパッケージは以下の通りです。
・Microsoft Word.exe(約59MB:仮想OS構築用ファイルを含む)
・Microsoft Office 97, Professional Edition.msi(約29MB:他のOS用のWord 97のインストーラ)
- ビルド完了
ThinApp Setup Captureウィンドウを<Finish>で閉じます。
- パッケージの配布準備
パッケージファイルをネットワークドライブに格納したり、ポータブルメディアに格納したりします。
※現実の企業等ではセキュリティ確保の観点からUSBメモリ使用は禁止されているケースが多いようです。
- パッケージング(仮想化)されたアプリケーション実行環境
ThinAppでパッケージングされたアプリケーションを実行するOS環境(実マシン、仮想マシン等)には特別なソフトを追加導入する必要はありません。
配布されたパッケージ中にある「Microsoft Word.exe」を起動するだけでOKです。
尚、「Microsoft Office 97, Professional Edition.msi」を実行してWord 97をインストールして利用することも可能です。
4.Word 97以外のパッケージング
同様の手順で以下のアプリケーションをパッケージングしてみました。
(1)Windows NT 4.0環境:Adobe Acrobat Reader 3.0J
Acrobat Reader 3のインストール先はC:\Acrobat3です。
(2)Windows 2000 Professional環境:Word 2000
Word 2000のパッケージ構成は以下の通りです。
・Microsoft Word.exe(わずかに35KB:仮想OS構築用ファイルを含みません) ※Word 97とは構成が大きく異なります
・Microsoft Office 2000 Premium.dat(約237MB:仮想OS構築用ファイルを含む)
・Microsoft Office 2000 Premium.msi(約133MB:他のOS用のWord 97のインストーラ)
(3)Windows XP Professional環境:Adobe Reader 9
※ThinApp Setup Captureを最小化してからAdobe Reader 9の<インストール>ボタンを押します。
Adobe Reader 9のパッケージ構成は以下の通りです。
・Adobe Reader 9.exe(約1MB)
・Adobe Reader 9 - Japanese.dat(約268MB)
・Adobe Reader 9 - Japanese.msi(約130MB)
(4)Windows Vista環境:Access 2003
5.パッケージング(仮想化)されたアプリケーション実行
- Windows Vista環境
Word 97, Word 2000, Adobe Acrobat Reader 3.0Jを同時に実行してみました。
※Adobe Acrobat ReaderはWordの場合と異なり複数バージョンのものを同時に起動することはできないようです。
また更に、仮想化されたAdobe Reader 9をUSBメモリから直接起動してみました。
レジストリにはHKEY_CLASSES_ROOT\Local Settings\Software\Microsoft\Windows\Shell\MuiCache\G:\Adobe Reader 9.exeが格納されました。
- Windows XP環境
Windows XPのインストール直後の状態で仮想アプリを実行してみました。
- Word 97とWord 2000の同時実行
Word 97とWord 2000を同時に起動してみました。
Word 97とWord 2000相互間でのコピー&ペーストもできます。
- Adobe Acrobat Reader 3.0J実行時の仮想ファイルシステム
Windows XP環境にはAdobe Acrobat Reader 3.0Jをインストールしていないため実ファイルシステムにはC:\Acrobat3は存在しません。
しかし仮想化されたAdobe Acrobat Reader 3.0JからはC:\Acrobat3があたかも実在するように見えます。
- Adobe Reader 9実行時の仮想ファイルシステム
Adobe Reader 9のパッケージングはWindows XP環境で実施しました。
しかしWindows XPをインストールしただけの別のWindows XP環境にはC:\Program Files\Adobe\Reader 9.0は存在しません。
しかし仮想化されたAdobe Reader 9からはC:\Program Files\Adobe\Reader 9.0があたかも実在するように見えます。
- Eee PC 901での仮想アプリ実行
Eee PC 901で仮想アプリ(Word 2000)を実行した様子はこちらです。
- Windows 2000環境
Windows 2000付属のIE5ではアドビのサイトを正しく表示できずAdobe Reader 9をインストールできません。
このためWindows XPで仮想化したAdobe Reader 9をWindows 2000環境で実行してみました。
- Windows NT 4.0環境
Windows NT 4.0以外のOS環境でパッケージング(仮想化)されたアプリを実行する場合はエラーが出ることが多いようです。
例えばWindows XP環境でパッケージング(仮想化)されたAdobe Reader 9もWindows NT 4.0環境では関数エラーが発生して利用できませんでした。
6.Citrix XenDesktopとThinAppの併用
ThinAppで仮想化したWindowsアプリケーションはCitrix XenDesktop(デスクトップ仮想化ソフト)の仮想デスクトップ上でも使用できます。
※ここではCitrix XenDesktop環境の構築手順については省略しています(今回はExpress版を使用)。
- Citrix XenDesktop環境のおおまかな概要
(1)ドメインコントローラ:Windows Server 2003(SP2)上にAD(Active Directory)を構築。
(2)デスクトップ配布コントローラ:Windows Server 2003(SP2)上に構築。
(3)デスクトップイメージ:Windows XP Professional(SP2)のデスクトップ。
(4)エンドポイントデバイス(ネットワークを介して仮想デスクトップを操作するPC):Windows XP Professional(SP2)搭載PC。
- Citrix Access管理コンソール画面例
- 仮想デスクトップ上でのWord 2000(仮想アプリ)実行例
まず、デスクトップ配布コントローラにログオンして仮想デスクトップを表示します。
次にその仮想デスクトップ上でWord 2000(仮想アプリ)を起動して操作してみました。
Citrix Desktop Toolbarのメニューはこちらです。