Uncategorized

ThinApp をつかってみよう(準備編)

ヴイエムウェアにはアプリケーションの仮想化というソリューションでThinApp という製品があります。ThinApp はHorizon Suite の各製品(Horizon View ,Horizon Mirage ,Horizon Workspace )のすべてに含まれておりますが、単体での購入も可能です。ThinApp の製品概要やメリットにつきましては、こちらのリンク(わかるThinApp )の記事をご参照ください。ThinApp の良さを体感していただくためには、ご利用いただくのが一番の近道となります。
このブログエントリでは、ThinApp をつかってみるための準備について記載します。
◆ 準備するもの ◆
1.ThinApp の検証用ライセンスとバイナリ
下記サイトから申請していただくと入手可能となります。
2.比較的スペックのいいPC
(このブログエントリでは、VMware Workstation などを使用してゲストマシンとしてパッケージング環境を動作させます)
3.パッケージするアプリケーションとインストール手順
4.パッケージするアプリケーションが通常動作するOSのうち一番古いOS
(リカバリディスクではなく、OSのみのインストール媒体)
パッケージングしていただく環境は、ThinApp パッケージャライセンスに同梱のVMware Workstation をはじめVMware Player, VMware Fusion, ESXi, 物理PCのいずれかからご都合に合わせて選んでいただくことになります。スナップショット機能を利用するとより効率的に作業をすすめることができますので、VMware Workstation をご利用いただくことが一番多いです。
実際の作業手順に入る前に、ThinApp のアーキテクチャについて少し説明します。
アプリケーションの動作の違い
 通常のアプリケーションはOS にインストールされます。インストール時にOS のレジストリにアプリケーションが使用するキーを書き込んだり、OS のファイルシステムにdll (ダイナミックリンクライブラリ)を配置します。
インストールされたアプリケーションは、レジストリキーを読んだりファイルシステムに配置したdll やコンポーネントを使用してOS の一部を使用して動作します。このため、直接Win32 APIをコールします。アプリケーションのつくりによっては、ユーザーモードではなくカーネルモードでコールすることもあります。(図左)
これに対して仮想アプリケーションは、OS にインストールされません。パッケージ内の仮想レジストリや仮想ファイルシステム(パッケージの設定により、実ファイルシステムのファイルを読み書きさせることも可能です。)を使用して、ThinApp VOS上で動作します。(図右)
仮想アプリケーションは動作の際に、OSの一部を直接使用しません。すべてのWin32 API のコールはThinApp VOSを経てユーザーモードで実行されます。
◆ エントリポイント ◆
エントリポイントはパッケージされた仮想アプリケーションへの入り口です。パッケージされた仮想アプリケーションの中には、エントリポイント以外からアクセスすることはできません。
エントリポイント  エントリポイントは普段はかくしておいて、メンテナンス時だけ利用することも可能です。たとえば、cmd.exe, regedit.exe, iexplore.exe を準備しておき、トラブルシュート時に備えるといった使い方ができます。
エントリポイントは、複数定義することもできますし単一で定義することもできます。セットアップキャプチャー画面では、インストール前後の差分で発生した「エントリポイント候補」が表示されますので、その中から選択してエントリポイントを決めます。
◆ 分離モード ◆
分離モードはパッケージングされた仮想アプリケーションが動作する際のファイルシステムとのアクセスを定義します。WriteCopy、Merged、Fullの3種類ありそれぞれ下記の表のようにアクセスします。分離モードは基本的にはフォルダ単位で設定します。

WriteCopy Merged Full
実際のファイルの参照 参照可能 参照可能 参照不可能
仮想ファイルへの変更 SandBoxに反映 SandBoxに反映 SandBoxに反映
実際のファイルの変更 SandBoxに反映 実ファイルに反映 参照不可能
新規作成したファイル SandBoxに作成 実環境に作成 SandBoxに作成

分離モードの設定方法はプロジェクトフォルダにキャプチャーされたフォルダ構成に対して##Attributes.iniファイルを配置し、その中に下記のように記述して定義します。

[Isolation]
 DirectoryIsolationMode=Merged

なお、現在のセットアップキャプチャーのデフォルトはMergedです。
◆  準備手順  ◆
1.検証用PC にVMware Workstation をインストールします。
インストーラにしたがってインストールを実施します。
2.VMware Workstation でキャプチャー用ゲストマシンを作成して、OS をインストールします。
ThinApp ではインストールの前後の差分をキャプチャーしてパッケージを行います。このときにOS に余分なツールやアップデートファイル等が入ってしまうと、一緒にキャプチャーされてしまいます。ここで使用するOS にはツール類が入っていないものを使用します。
準備はここまでとなります。次回は実際にThinApp のパッケージを作成してみましょう。