WIndows10 SandBox機能でインストーラ形式のユーティリティツールをPortable化してみる。
背景
ネット上ではWindows用のツールが配布されており、試したいものも多々あります。
好みとしてはインストーラー形式でレジストリーに書込むのではなく実行ファイルをコピーするだけのポータブル(ZIP形式等)が好きです。(ポータブル形式でも実行時にレジストリー書き込みするものもありますが)。Windows10のサンドボックス機能は最近は話題にならないようですが、自前パソコンのディスクを交換しクリーン環境からツールを整理する中でタイトルの内容が使えることに気付いたのでまとめてみます。
こういうやり方はソフトの作者さんの意図に反しているとは思いますが、個人の環境構築レベルで試しているところです。
頻繁に使うならインストーラ形式のみ配布の場合は指示通りの導入が安定&確実と思います。
試した環境はWindows10Pro 21H1でクリーンインストールし21H2に上げた物です。
実際の作業
サンドボックス機能ではホストとのデータのやり取りはコピー&ペーストが使えます。
ホスト側で怪しいサイトのURLをコピーし サンドボックス側のブラウザ(Edge)にペーストし確認のコピペ出来る程度かと思っていたのですが、通常のファイル、フォルダのコピペも可能で更にサンドボックス内のフォルダをコピーしホストにペーストも出来ることに気づきました。
ですから インストーラファイルを取ってきて サンドボックス内でインストール→出来上がったプログラムの入ったフォルダ(Program Filesが多い)を丸ごとホストへコピーペーストすれば ポータブル版として使えます。
念のためRegeditでツール名などで検索しどの程度書き込みがあるか見るのも参考になります。
副次的な効果としてダウンロードサイトでの広告等の挙動(ホスト側でのダウンロードはScriptをブロックしているので)やインストール作業での質問内容や挙動を体験できる・・がありました。
他の気付き
ソフトによっては エラーが出ることがあります。(下図) 本物のWindowsとはどこか違うのでしょう。(この例ではエラーを無視して出来た環境をホストにコピーして起動はしました)
ホスト上のプログラムファイルの置き場はProgram Filesではなく一般のドキュメント置き場のほうが安全かと思います。
サンドボックス環境の終了ですが・・Windowsの終了で終わるのではなく サンドボックスのウィンドウを閉じる(右上のバツ印)が安定しているようです。
Windowsの終了で操作したらサンドボックスのクライアントのエラーで固まり、ファイルに不整合が発生し使えなくなってしまいました。(サンドボックス機能の削除再導入で戻りましたが)
サンドボックスになる仮想ディスクは C:\ProgramData\Microsoft\Windows\Containers\Sandboxes にあるようですが、マスターのsandobox.vdhxやタイムスタンプの値の変化がよく理解出来ないです。しばらく変化をみたいと思います。
ホストのWindowsのバージョンはwinverでは19044.1348ですが サンドボックスでは19041.1348でバージョン2004となっていました。