ユーザー単位とマシン単位のインストール:Windows アプリはどちらを選ぶべきか
インストーラーが全ユーザーではなく現在のユーザーを対象にすると何が変わるのか。インストール先フォルダー、管理者の確認、ショートカット、更新、アンインストールの違いと、アプリに合った選び方を解説します。
更新日 2026年10月31日 · 読了 6 分
Windows のインストーラーは、何よりも先に一つの決断をします。アプリはマシンのものか、それとも使う人のものか、という決断です。Chrome、VS Code、そして大半の Electron アプリは既定で「人」を選びます。Office、Adobe 製品、大半のゲームは「マシン」を選びます。この選択は、フォルダー、管理者の確認、ショートカット、更新、アンインストールに影響します。それぞれが何を意味するのか、どう選ぶべきかを説明します。
マシン単位のインストールが行うこと
「すべてのユーザー」や「このコンピューターを使うすべての人」向けとも呼ばれます。
C:\Program Files\My App(32 ビットアプリの場合はProgram Files (x86))にインストールします。- 管理者権限が必要です。Windows がユーザー アカウント制御の確認を表示し、インストーラーは昇格して実行されます。
- アンインストール情報を
HKEY_LOCAL_MACHINEに書き込むため、アプリはすべてのアカウントの Windows の設定に表示されます。 - ショートカットを共有のスタート メニューとパブリック デスクトップに置くので、すべてのユーザーから見えます。
- マシンを何人が使っていても、ディスク上のコピーは一つだけです。
- Program Files は標準ユーザーにとって読み取り専用です。これによりアプリは改ざんからも、アプリ自身からも守られます。設定やデータは
.exeの隣ではなく%APPDATA%に保存しなければなりません。
ユーザー単位のインストールが行うこと
「現在のユーザー」や「自分のみ」向けとも呼ばれます。
C:\Users<name>\AppData\Local\Programs\My Appにインストールします。- 管理者権限は不要なので、確認は表示されません。ユーザーが管理者ではない管理された業務用ノート PC では、IT 部門を介さずに動作する唯一のインストール方式です。
- アンインストール情報を
HKEY_CURRENT_USERに書き込みます。アプリはそのアカウントの設定にだけ表示されます。 - ショートカットはそのユーザーのスタート メニューとデスクトップに置かれます。
- アプリを使いたいユーザーは、それぞれ自分のコピーをインストールします。
- フォルダーはユーザーが書き込めるため、自動更新するアプリはこちらを好みます。アプリは昇格なしで自分のファイルを置き換えられます。
選び方
次の場合はマシン単位を選びます。
- アプリが共有機器向けのソフトウェアである場合。研究室のツール、POS アプリ、家族共用 PC のゲームなど。
- 読み取り専用のインストール フォルダーによる保護が欲しい場合。
- IT 部門がすべてのアカウント向けに一括で展開する場合(通常はいずれにせよ system としてインストーラーを実行します)。
- アプリが Windows サービスやドライバーをインストールする場合。ユーザー単位のインストールではできません。
次の場合はユーザー単位を選びます。
- ユーザーが管理者とは限らない場合(会社のノート PC、学校のマシン)。
- アプリが自動更新する、または頻繁に更新される場合。
- 大半の Electron アプリや Web 技術ベースのアプリのような、個人向けの生産性アプリである場合。
- できる限り静かなインストールにしたい場合。ダウンロードして実行、確認なし。
一般消費者向けのデスクトップ アプリで迷ったら、マシン単位が長年の慣例であり、Setup.exe に人々が期待するものです。会社のマシンで働くナレッジ ワーカー向けのアプリで迷ったら、ユーザー単位にすれば、インストールを妨げる唯一の障害が取り除かれます。
つまずきやすい点
- スコープの混在。 同じアプリのマシン単位インストールの上にユーザー単位でインストールすると、コピーが二つ残ります。バージョン間でスコープを揃えるか、古い方を検出して削除し、その旨をリリース ノートに記載してください。
- exe の隣にデータを置く。 ユーザー単位では動作しますが、マシン単位では失敗します。Program Files が読み取り専用だからです。設定やセーブ データには常に
%APPDATA%または%LOCALAPPDATA%を使ってください。 - スタートアップ エントリ。 「起動時に実行」は、どちらのスコープでも現在のユーザーの Run キーに書き込みます。Windows ではスタートアップはユーザー単位の概念だからです。
- サイレント インストール。 マシン単位のインストーラーを昇格していないプロンプトからサイレントで実行すると、何も表示せずに失敗します。展開ツールは system として実行します。スクリプトは昇格して実行する必要があります。ユーザー単位のインストーラーは、そうしたことなしにサイレントで実行できます。サイレント インストールを参照してください。
ExeTup での設定
インストーラー作成フローにはスイッチが一つあります。すべてのユーザー向けにインストールか現在のユーザーのみかです。これがフォルダー、昇格の要求、レジストリ ビュー、ショートカットの場所をまとめて設定するので、常に整合が取れます。プレビューでは、フォルダー ページに結果のフォルダー パスが表示されます。
よくある質問
一つのインストーラーで両方の選択肢を提供できますか?
「すべてのユーザーか自分のみか」を尋ねるページを追加するインストーラーもあります。ExeTup はインストーラーごとに一つのスコープでビルドします。これによりサイレント インストールの挙動が予測可能になります。両方が必要なら、二つのインストーラーを配布してください。
ユーザー単位は安全性が低いのですか?
インストール フォルダーはユーザーが書き込めるため、そのユーザーとして動くプログラムがアプリを改変できます。大半のデスクトップ アプリにとっては、昇格なしの更新と引き換えに受け入れられるトレードオフです。セキュリティに敏感なソフトウェアでは、マシン単位の方が安全な選択です。
ユーザー単位のインストールは Windows の設定のどこに表示されますか?
「アプリ」の下に、インストールしたアカウントに対してだけ表示されます。同じマシンの他のアカウントからは見えません。
標準ユーザーがマシン単位のアプリをインストールできますか?
UAC の確認で管理者のパスワードを入力する場合に限られます。それができないなら、ユーザー単位を選んでください。
関連ガイド
- Windows アプリの Setup.exe を作る方法(コード不要)Setup.exe が実際に行うこと、作成する3つの方法、そしてインストーラースクリプトを書かずにアプリのフォルダーを数分でプロ品質のインストーラーに変える方法を解説します。
- Setup.exe のサイレントインストール:/S スイッチ、フォルダー指定、展開NSIS 製の Setup.exe を /S でサイレント実行し、/D= でインストール先を指定し、サイレントでアンインストールし、Intune、PDQ、スクリプトで展開する方法。
- Electron アプリの Windows インストーラーを作成するElectron Packager または Forge でアプリをパッケージし、出力フォルダーをウィザード・ショートカット・アンインストーラー付きの Setup.exe に変換します。electron-builder の設定は不要です。