ALLUSERS プロパティ
ALLUSERS プロパティでは、パッケージのインストール コンテキストを構成します。 Windows インストーラーでは、ユーザーのアクセス特権、アプリケーションのインストールに昇格された特権が必要かどうか、ALLUSERS プロパティの値、MSIINSTALLPERUSER プロパティの値、オペレーティング システムのバージョンに応じて、ユーザーごとのインストールまたはマシンごとのインストールが実行されます。
インストール時の ALLUSERS プロパティの値によって、インストール コンテキストが決まります。
ALLUSERS プロパティ値の 1 は、マシンごとのインストール コンテキストを示します。
ALLUSERS プロパティ値の空の文字列 ("") は、ユーザーごとのインストール コンテキストを示します。
ALLUSERS プロパティの値が 2 に設定されている場合、Windows インストーラーでは常に ALLUSERS プロパティの値を 1 にリセットし、マシンごとのインストールを実行するか、ALLUSERS プロパティの値を空の文字列 ("") にリセットし、ユーザーごとのインストールが実行されます。 値 ALLUSERS=2 を使用すると、システムでは ALLUSERS の値と、ユーザーの特権および Windows のバージョンに応じてインストール コンテキストをリセットできます。
Windows 7:MSIINSTALLPERUSER プロパティを使用してインストール コンテキストを指定するには、ALLUSERS プロパティを 2 に設定します。 マシンごとのインストールでは、MSIINSTALLPERUSER プロパティを空の文字列 ("") に設定します。 ユーザーごとのインストールでは、MSIINSTALLPERUSER プロパティを 1 に設定します。 「単一パッケージの作成」で説明されている開発ガイドラインに従ってパッケージが記述されている場合、ユーザー アクセス権を持つユーザーは、UAC 資格情報を指定しなくても、ユーザーごとのコンテキストにインストールできます。 ユーザーがユーザー アクセス特権を持っている場合、インストーラーでは、UAC ダイアログ ボックスに管理者資格情報が指定されている場合にのみ、マシンごとのインストールが実行されます。
Windows Vista:ALLUSERS プロパティを 2 に設定します。Windows インストーラーは "ユーザー アカウント制御" (UAC) に準拠します。 ユーザーがユーザー アクセス特権を持っており、ALLUSERS=2 の場合、インストーラーでは、UAC ダイアログ ボックスに管理者資格情報が指定されている場合にのみ、マシンごとのインストールが実行されます。 UAC が有効で、正しい管理者資格情報が指定されていない場合、インストールは失敗し、管理者権限が必要であることを示すエラーが表示されます。 UAC がレジストリ キー、グループ ポリシー、コントロール パネルによって無効になっている場合、UAC ダイアログ ボックスは表示されず、管理者特権が必要であることを示すエラーでインストールが失敗します。
Windows XP:ALLUSERS プロパティを 2 に設定します。ユーザーがユーザー アクセス特権を持っている場合、Windows インストーラーではユーザーごとのインストールが実行されます。
ALLUSERS プロパティの値が 2 以外の場合、Windows インストーラーでは MSIINSTALLPERUSER プロパティの値は無視されます。
例
<!-- Disallow user from installing for all users -->
<Property Id="ALLUSERS" Secure="yes"/>
<Condition Message="Setting the ALLUSERS property is not allowed because [ProductName] is a per-user application. Setup will now exit.">
NOT ALLUSERS
</Condition>
GitHub 上の Windows クラシック サンプルからの例。
既定値
推奨される既定のインストール コンテキストは、ユーザーごとです。 ALLUSERS が設定されていない場合、インストーラーではユーザーごとのインストールが実行されます。 ALLUSERS プロパティの値を空の文字列 ("")、ALLUSERS ="" に設定することで、ALLUSERS プロパティが設定されていないことを確認できます。
解説
インストール コンテキストによって、DesktopFolder、ProgramMenuFolder、StartMenuFolder、StartupFolder、TemplateFolder、AdminToolsFolder、ProgramFilesFolder、CommonFilesFolder、ProgramFiles64Folder、CommonFiles64Folder の各プロパティの値が決まります。 インストール コンテキストによって、Root 列が -1 の Registry テーブルと RemoveRegistry テーブルのエントリが書き込まれるか削除されるレジストリの部分が決定されます。
必要条件
要件 | 値 |
---|---|
バージョン |
Windows Server 2012、Windows 8、Windows Server 2008 R2、または Windows 7 の Windows インストーラー 5.0。 Windows Server 2008 または Windows Vista の Windows インストーラー 4.0 または Windows インストーラー 4.5。 Windows Server 2003 または Windows XP の Windows インストーラー。 Windows インストーラーのバージョン別に必須となる最小 Windows サービス パックに関する詳細については、Windows インストーラーの実行時の要件に関する記事を参照してください。 |