
仮想アプリを通常アプリのように使用する
SB C&S後藤です。
昨年12月に Omnissa ThinApp 2512 ビルド 266 がリリースされています。
Microsoft Windows 11 バージョン 25H2 がサポート対象となり、一部 ThinApp 2412 で発生していたライセンスキーの問題が解決しています。
詳細は下記のリリースノートをご確認ください。
Omnissa ThinApp リリース ノート
さて、今回は出来上がった仮想アプリケーションの利便性を向上させる機能のご紹介です。 アプリケーションの配布や更新など、運用面での考慮にも関係する内容となります。
ThinAppで仮想化したアプリはインストール不要ですぐに使用できる反面、Windowsの便利な機能がいくつか使用できない状態です。
その代表的なものがファイルタイプの関連付けとWindowsメニューからのショートカット起動です。
これらの問題に対して、ThinAppではThinReg.exeユーティリティが用意されています。今回はこのThinReg.exeについて解説していきたいと思います。
ThinReg.exe と MSIパッケージ
ThinReg.exeはThinAppをインストールしたフォルダーに保存されています。このThinReg.exeは、仮想アプリを使用する環境にコピーして使用します。
ThinReg.exeのパスはデフォルトでは、\Program Files (x86)\Omnissa\Omnissa ThinApp\thinreg.exeです。
仮想化したアプリをMSIパッケージ形式で配布することで、ThinReg.exeを自動的に実行する方法もあります。
いずれの場合もPackage.iniを確認・編集して事前に準備しておく必要があるので、順に解説していきます。
関連付けする拡張子とショートカットの指定
まずPackage.iniの対象アプリのセクションを確認します。ここに関連付けを行う拡張子とショートカットの作成先が指定されています。
Setup Captureの途中でこれらの設定を指定することはできません。ThinAppがアプリのインストーラーから自動的に判定した値が適用されます。値を確認して、必要であれば編集してください。
関連付け
対象となるアプリのセクションで、FileTypesパラメータを確認します。パラメータが存在していない場合は追加します。値は拡張子の形式をとります。
[Notepad++.exe]
FileTypes=.txt
複数指定することもできます。他のパラメータと違って区切りに;は使用せず、続けて書いていきます。
[Firefox.exe]
FileTypes=.avif.htm.html.oga.ogg.ogv.pdf.shtml.svg.webm.webp.xht.xhtml
ショートカット
ショートカットの場所はShortcutsで指定します。単数形のShortcutと混同しないよう注意してください。
[Notepad++.exe]
Shortcuts=%Programs%
複数指定する場合は;で区切ります。
[Firefox.exe]
Shortcuts=%Desktop%;%Programs%;%AppData%\Microsoft\Internet Explorer\Quick Launch\User Pinned\TaskBar
変更が完了したら保存して、build.batを実行してパッケージを再ビルドします。
ThinReg.exe の手動実行
再ビルドが完了したら、ビルドしたファイルとThinReg.exeをまとめて実行環境にコピーします。

実行方法
コマンドプロンプト(cmd.exe)からThinReg.exeコマンドを実行します。
thinreg.exe [<optional_parameters>] [<package1.exe>][<package2.exe>][<packages_by_wildcard>]
基本的な使い方は thinreg.exe パッケージ名.exe です。
実際に試してみましょう。ここではNotepad++を使用します。ThinReg.exeはパッケージと同じフォルダーにあるとします。
cd path\to\package
thinreg.exe "Notepad++.exe"
これで関連付けやショートカットの作成が完了します。特にメッセージ等は出力されません。
実際にファイルから確認してみましょう。

テキストファイルを開こうとすると、このようにNotepad++が候補にあがってくるようになります。
テキストファイルを右クリックして「プログラムから開く」でも確認できます。
次にThinReg.exeが行った登録などを解除してみます。オプション/uを使用します。
thinreg.exe /u "Notepad++.exe"
実行後はテキストファイルを開く候補としてNotepad++が表示されなくなります。
オプション一覧
ThinReg.exeのオプションを簡易的に紹介します。
/a,/allusers:すべてのユーザーに登録・登録解除を行います(管理者権限が必要)。/q,/quiet:エラーメッセージを表示しないようにします。/u,/unregister,/uninstall:登録を解除します。/aで登録した場合は/u /aのように2つ指定します。/r,/reregister:強制的に再登録します。/k,/keepunauthorized,/keep:アクセス権がなくなった後も登録情報を保持します。/noarp:Windowsのインストール済みアプリ一覧に追加しないようにします。/norelaunch:ユーザーアカウント制御ポップアップが表示されなくなります。/a使用時は失敗。
詳細:https://docs.omnissa.com/ja-JP/bundle/ThinAppUserGuideV2503/page/Optionalthinreg.exeParameters.html
MSIパッケージの作成
MSIパッケージの作成はSetup Capture実行時にオプションを有効にすると作成されます。

Setup Captureで有効にしていなくても、Package.iniを編集して再ビルドすればMSIパッケージが作成されます。
Package.iniを開いてMSIFilenameの行を探してください。コメントアウトされているので、行頭の;を削除して有効にします。
MSIFilename=Notepad++.msi
その他のMSI設定はコメントアウトされたままで問題ありません。この状態でbuild.batを実行すると.msi形式のファイルが追加されます。

MSIパッケージは他のファイルとともにbinフォルダーに作成されます。MSIパッケージを使用する場合は他のファイルは不要です。
MSIファイルをクライアントコンピューターにコピーします。

ダブルクリックして実行するとパッケージが展開されます。自動的にThinReg.exeも実行され、関連付けやスタートメニューへの登録が行われます。
MSIパッケージの詳細なパラメータは公式ドキュメントを参照してください。

Windowsの「インストールされているアプリ」一覧からアンインストールすることで、関連付け等も含めて削除できます。
執筆協力
Nagisaworks 伊藤さま
ThinApp技術指南
著者紹介
SB C&S株式会社
ICT事業本部 技術本部
ソリューション技術統括部 技術推進室
後藤 正幸
