仮想マシンのようにOSごと仮想化するのではなく、
その上で動くアプリケーションのみを仮想化しようというコンセプトが流行りつつあるようです。(Dockerとか)
アプリケーションによっては、インストール時に特定の場所にファイルを配置する必要があったり、レジストリを触るものがあります。
そういったアプリケーションは、単にアプリケーションファイル一式をUSBメモリ等に入れて持ち運んでも他所のPCでは起動しません。
そこで、ファイルやレジストリをサンドボックスのようなもので仮想化してしまうことで、
アプリケーション側から見るとあたかもOSをいじれてるように見えるように仮想化しようというコンセプトと理解しています。
(間違えていたらすみません)
多くのPCでは、システムの安定性やセキュリティの観点からOSを触る権限を制限していることがありますが、
とはいえアプリケーションを使う必要も発生します。そこで、ThinAppによりアプリケーションをポータブル化します。
まずはThinApp Virtualization PackagerをVMwareのサイトから体験版をダウンロードしインストールしました。
ThinAppを起動します。説明画面が出ますので、Nextを選択。
プレスキャンの画面が出ます。
ThinAppでは、インストール前のシステム全体の状態とインストール後の状態を比較し、差分を仮想化するようです。
(インストール後に増えたファイルやレジストリを仮想化する)
そのため、まずは仮想化したいアプリケーションをインストールする前にプレスキャンを実施します。
Prescanを選択します。ちょっと時間がかかります。
プレスキャンが終わったら、ポストスキャンの画面に来ます。まだPostscanは押しません。
この画面のまま、仮想化したいアプリケーションをインストールします。
今回はHorizonClientというソフトを仮想化したかったので、このタイミングでHorizonClientをインストールしました。
仮想化したいアプリケーションのインストールが終わってから、Postscanを選択します。
エントリーポイントを聞かれます。アプリケーションの実行ファイルがどれかを聞かれているのです。
(スタートメニューから選ばずに、直接exeファイルを選択して起動する場合、どのexeファイルなのか)
大抵アプリケーションの名前のexeファイルかと思うので、それを選択します。
加えて、"Show entry points used for debugging"にチェックを入れ、
"cmd.exe"と"regedit.exe"も選択しておきます。
VMware workspaceと紐づけるか聞いてきます。今回は紐づけないんでそのまま次へ。
誰がこのアプリケーションを起動できるようにするかです。Everyoneで次へ。
Full write access...で次へ。
サンドボックスをどこに置くか聞いてきます。仮想化されたアプリケーションと同じ場所が無難かと思うので、
Same directory as the application で次へ。
何かバグったときに関係する情報をVMware社に自動的に送っていいか聞かれます。要らないと思うのでNoで。
次へ。
Saveすると、仮想化(パッケージ化)されたアプリケーション一式が生成されます。
場合によっては、PrescanからPostscanの間に増えていた以下のファイルがないよ! と言われました。
これは関係ないファイル(たまたまウィルススキャンが走っていて、その関係でできたファイル?)なので、無視して次へ。
Buildを選びます。
Finishを押します。
無事アプリケーションを仮想化(ポータブル化)できました。管理者権限が無いようなWindows環境下でも動くかと思います。