
ThinApp Setup Capture での設定について
SB C&S後藤です。
少々前回掲載から期間が開いてしまいましたが、ThinApp Setup Capture の詳細について解説を続けます。
前回のSetup Captureの解説では設定をほぼデフォルト値のまま進めました。今回はこの設定について、Setup Captureの画面に沿って解説します。
各項目の対応する公式ドキュメントのリンクも掲載します。

ここで少し話がそれますが、ThinAppドキュメントのURLにはバージョン情報が含まれています。この記事では2503のURLを掲載しています。
もし違うバージョンの内容を確認したい場合は、リンク先のドロップダウンメニューからバージョンを選択してください。
それでは、Setup Capture内の設定について解説します。Setup Capture全体については前回の記事を参照してください。
エントリーポイント

エントリーポイントは仮想アプリケーションを起動するためのEXEファイルです。ThinAppの仮想環境にはエントリーポイントを通じてのみアクセスできます。
キャプチャの結果を受けて自動的に候補が提案されるので、ユーザが直接起動するEXEを選択してください。複数選択することも可能です。

一覧の下にある「Show entry points used for debugging」にチェックをつけるとcmd.exeとregedit.exeが候補に追加されます。
この2つは仮想環境内のファイルやレジストリを参照する際に役立ちます。
エントリーポイントは仮想アプリの入口となるアプリです。

パッケージ内にある実行可能ファイルやその他のリソースは、外部から直接アクセスすることができません。エントリーポイントを実行することでパッケージ内にアクセスできるようになります。
エントリーポイントから呼び出された仮想環境内では自由にファイルの実行や読み込みが可能です。
Workspace ONE Access Catalog

Omnissa Access Desktopアプリケーションを使用して、ThinAppの仮想アプリをユーザに提供できます。
使用する場合はチェックボックスをオンにして、組織のURLを入力してください。
Omnissa Access で使用する ThinApp パッケージを有効にする
AD Group

特定のActive Directoryグループにのみ仮想アプリの使用を許可する設定です。ADでアプリのアクセスを制御したい場合に使用します。
使用する場合「Only the following Active Directory groups:」を有効にして、アクセスを許可するADグループを追加してください。アクセスを拒否されたユーザに表示するメッセージも編集できます。
Isolation Mode

ファイルの分離モード(Isolation Mode)を指定します。この分離モードとは、仮想アプリから実環境へのファイルの読み書きに関する設定です。
ここでの選択肢は以下の2つです。
- Full write access to no-system directories (Merged isolation mode)
- Restricted write access (WriteCopy isolation mode)
初期状態では1つ目のMergedモードが選択されていて、基本的にはこちらの設定を使用します。
Mergedモードでは、基本的に実環境へのファイル読み込み・書き込みを行うモードです。AppData、システム、プログラムファイルフォルダに対する書き込みはサンドボックスに行います。一般的なアプリはこちらのモードを使用します。
WriteCopyモードでは全てのディレクトリへのファイル書き込みをサンドボックスに対して行います。
実環境にある既存のファイルを更新する場合は、サンドボックスに新たなファイルが作成され、元のファイルはそのまま更新されずに残ります。新規作成もサンドボックスに作成されます。
Sandbox location

サンドボックスの場所を指定します。サンドボックスは仮想アプリによる変更を保存する場所で、実態はアプリの名前が付けられたフォルダです。仮想アプリの初回起動時に自動的に作成されます。
- Use profile (%AppData%\Thinstall)
- Same directory as the application (use with USB and portable media)
- Custom location or network drive:
デフォルトは一番上のAppDataフォルダ以下に保存する選択です。AppDataフォルダはユーザごとに分かれているので、作成されるサンドボックスはユーザごと・アプリごとに分離された状態です。
アプリをUSBメモリ等に保存して、様々なPCで同じ状態のアプリを使用したい場合は2つ目の「Same directory」を選びます。これで仮想アプリ本体とサンドボックスが同じフォルダに保存されます。
任意の場所に保存したい場合は「Custom location」を選んで場所を指定します。ネットワークドライブも選択可能です。
Customer Experience Improvement Program

この項目はThinAppの改善に役立てるためにOmnissaに匿名情報を提供するかの確認です。情報提供は任意ですので、記載の内容を確認して決めてください。
ThinApp のカスタマー エクスペリエンス向上プログラム (CEIP) への参加
Project Settings

プロジェクトフォルダの場所とインベントリ名を指定します。
Inventory name
インベントリ名はthinreg.exeを使用するか仮想アプリをMSIファイルとして展開した場合にWindowsのアプリ一覧に登録される名称です。
また、下の欄のプロジェクトフォルダのフォルダ名にも反映されます。わかりやすい名称にしておいてください。
Project location
アプリのキャプチャ結果を格納するフォルダを「プロジェクトフォルダ」と呼びます。このプロジェクトフォルダを格納する場所を指定します。
デフォルトは\Program Files (x86)\Omnissa\Omnissa ThinApp\Captures\<inventory name>です。
Package Settings

この画面には3つの設定項目があります。
Primary data container
プライマリデータコンテナは、ThinAppのランタイムと仮想ファイルシステムと仮想レジストリを含む仮想アプリのデータファイルです。「PDC」という省略表記で書かれることもあります。
ここではエントリポイントの.exeファイルにまとめるか、.datファイルとして分けるかを指定できます。

「Use one of the entry points」を選んだ場合、選択したエントリーポイントのEXEファイル内にデータコンテナが含まれた状態になります。

「Use separate .DAT file」を選んだ場合、エントリーポイントとは別に、データコンテナの.datファイルが1つ追加されます。
統合するか分けるかは、状況に応じてSetup Captureが自動的に選んでくれるので基本的にはそれに従うのが良いと思います。
MSI package generation
MSIパッケージを作成するオプションです。MSIパッケージからWindowsへインストール作業を経て仮想アプリを利用することで、ファイルタイプの関連付けやスタートメニューへの登録などが適用されます。
MSIパッケージを生成せずに、ThinAppが提供しているユーティリティを使用する方法もあります。
Compression
パッケージの圧縮を行うオプションを設定します。容量を削減できますがビルドに時間がかかるようになるため、仮想アプリの動作確認を行いたい場合には不向きです。
稀に圧縮設定をONにすると動作しない場合があります。問題の切り分けのためにも、最初は圧縮をせずにビルドすることを推奨します。
その他の設定について

設定した内容はプロジェクトフォルダ内のPackage.iniに反映されています。Ready to Buildの画面にある「Edit Package.ini」をクリックすることで設定の修正や更に詳細な設定ができます。
この画面からビルドしたあとでも、Package.iniを編集してアプリを再ビルドすればいつでも異なる設定のパッケージを作成できます。
重要な用語のまとめ
最後に、今回説明した中で特に重要な用語についてまとめておきます。
- エントリーポイント:仮想アプリパッケージの入口となるアプリ
- 分離モード(Isolation Mode):実環境に対してファイル・レジストリの読み書きを行うかの設定
- サンドボックス:仮想アプリの変更を保存するためのフォルダ
- プロジェクトフォルダ:アプリのキャプチャ結果などを保存しているフォルダ
Setup Captureに関する解説は一旦ここまでです。設定項目は色々とありますが、基本的にはSetup Captureのウィザードに従っていけば仮想アプリが作成できることがお伝えできたかと思います。
次回からは先に挙げた重要な用語に関する解説を行っていく予定です。もしここまででまだ一度もSetup Captureを実行していない場合は、前回の記事を参考にぜひ一度作業を試してみてください。
執筆協力
Nagisaworks 伊藤さま
ThinApp技術指南
著者紹介
SB C&S株式会社
ICT事業本部 技術本部
ソリューション技術統括部 技術推進室
後藤 正幸
