インストーラーが実際に残すもの
典型的なインストーラーはプログラムをProgram Filesか%LOCALAPPDATA%に書き込み、設定を%APPDATA%、%LOCALAPPDATA%、ProgramDataに散らし、ファイルの関連付けをレジストリに登録し、さらに共有ランタイム(VC++再頒布パッケージ)とアップデーターサービスをインストールすることも多い。アンインストールはベンダーが書いたスクリプトを実行するが、ベンダーはそれを「ユーザーのデータに触れるな」基準で最適化する——つまり設定、ログ、キャッシュは意図的に生き残る。設計上の親切だが、数十のアプリで積み重なると馬鹿にならない:チャット、トレント、エディター系のアプリでは、除去1本あたり200MBの孤児フォルダが普通だ。
- アンインストーラーより長生きする%APPDATA%と%LOCALAPPDATA%のフォルダ
- ユーザー間で共有され、「念のため」残されるProgramDataのエントリー
- どのアンインストーラーも触れないHKCU\Software配下のレジストリキー
- 他のアプリが必要かもしれないと残される共有ランタイム(VC++ 2015–2022)
- 親アプリより生き残ることさえあるアップデーターサービスとタスクスケジューラーのタスク
ポータブル版が本当に約束するもの——と、破たんする場所
ポータブルアプリは1つのフォルダに展開され、設定はEXEの横のINIファイルに保存され、レジストリには何も書かない——フォルダを削除すれば消滅するので、残骸の部門では正直な優勝者だ。代償は統合だ:ファイルの関連付けは自分で登録するまでなく(それ自体がレジストリへの書き込みだが)、スタートメニューの項目は自分で追加し、更新は手動で行い、ドライバーやサービスやシェル拡張を持つアプリはそもそもポータブルにできない。ブラウザーは境界事例だ——ポータブル版は存在するが、同期、既定ブラウザーの地位、プロトコルハンドラー(mailto:、zoommtg:)が絶えず邪魔をする。
セキュリティは誰もが飛ばす部分だ。ポータブルアプリはストア経由の署名チェックを受けない。だから評判のわからないアグリゲーターではなく、ベンダー自身のサイトからダウンロードすること。そしてポータブル=他の場所に足跡ゼロではない——ポータブルブラウザーは自分のディレクトリ内にプロファイルフォルダを抱えたままで、それはインストール版とまったく同じように肥えていく。
実際の境目はどこか
ドライバー、サービス、深いシェル統合、自動更新を必要とするもの——アンチウイルス、VPN、クラウド同期クライアント、ドライバー本体——はデフォルトでインストール版にする。必要なときに使うツール類——ファイルマネージャー、コンバーター、エディター、診断ツール——や、USBメモリーで持ち運びたいもの、1フォルダのコピーで新しいマシンへ複製したいものは、デフォルトでポータブル版だ。Microsoft Storeのアプリは中間に位置する:クリーンにサンドボックス化され、ほぼ完全にアンインストールできる。代償はストアのポリシーだ。何をアンインストールするにしても、残骸は覚悟しておくこと:アプリ除去後に%APPDATA%と%LOCALAPPDATA%でベンダーのフォルダをさっと確認する習慣が、マシンを正直に保つ。
よくある質問
ポータブルアプリはレジストリに痕跡を残しますか?
アプリ自体は書き込みませんが、Windowsが書きます——MRUリスト、ダウンロードファイルのZone.Identifier、prefetchのエントリー。これはキロバイトの話で、インストール版が残すフォルダやサービスとは比べものになりません。
ポータブルアプリはインストール版より安全ですか?
ベンダー自身のサイトからダウンロードした場合のみです。ポータブルであること自体はマルウェアの話を何も変えません。ただしインストーラーを省略すればバンドルされたオファー画面も省略できるので、実在するゴミの侵入経路を1つ減らせます。
購入前にライセンスの内容をご確認ください。
一度限りの 30 分試用では基本ツールを利用できます。PRO 機能は有料ライセンスを有効にするまでロックされています。
次に読む記事
お問い合わせ: [email protected]