UAC で Windows インストーラーを使用

Windows インストーラーは Windows Vista のユーザー アカウント制御 (UAC) に準拠しています。 管理者からの承認により、Windows インストーラーは、管理者グループのメンバーではない可能性があるユーザーに代わってアプリケーションまたはパッチをインストールできます。 Windows インストーラーは、ユーザーが直接変更を行っていた場合に通常は許可されないユーザーに代わってシステムに変更を加えるため、これは管理者特権インストールと呼ばれます。

  • Windows Vista を企業環境で使用する際は、アプリケーションをマネージド アプリケーションとして指定できます。 アプリケーションの展開とグループ ポリシーを使用すると、管理者はディレクトリをロックダウンできます。その後、それらのディレクトリにあるマネージド アプリケーションを、インストール、修復、または削除するために、標準ユーザーに割り当てまたは公開できます。 マネージド アプリケーションは HKEY_LOCAL_MACHINE レジストリ ハイブに登録されています。 アプリケーションがマネージド アプリケーションとして登録されると、後続のインストール操作は常に昇格された特権で実行されます。 ユーザーが管理者として実行している場合、インストールを続行するためのプロンプトは不要です。 ユーザーが標準ユーザーとして実行されていてアプリケーションがすでに割り当てまたは公開されている場合、マネージド アプリケーションのインストールはプロンプトなしで続行できます。
  • Windows Vista を企業環境以外で使用する際に、UAC はアプリケーション インストールの昇格を処理します。 Windows インストーラー 4.0 では、アプリケーション インフォメーション サービス (AIS) を呼び出して管理者の承認を要求し、インストールを昇格できます。 管理者特権が必要と識別されたインストールを実行する前に、UAC はユーザーにインストールの昇格に対する同意を求めます。 管理資格情報を必要とするアプリケーションまたはシステム コンポーネントが実行の許可を要求するまで、管理者は標準ユーザーとして実行するため、ユーザーがローカル管理者グループのメンバーである場合でも同意を求めるメッセージはデフォルトで表示されます。 このユーザー エクスペリエンスは管理者承認モード (AAM) と呼ばれています。 標準ユーザーがアプリケーションをインストールしようとすると、ユーザーは管理者特権を持つユーザーを取得して、インストールを続行するために自分が持つ管理者の資格情報をそのユーザーに提供する必要があります。 このユーザー エクスペリエンスは Over the Shoulder (OTS; 肩越し) 資格情報プロンプトと呼ばれています。
  • UAC ではインストールの段階で特権が制限されるため、Windows インストーラー パッケージの開発者はインストールした物が常にシステムにくまなくアクセスできるものと考えるべきではありません。 したがって、Windows インストーラー パッケージの開発者は「パッケージのガイドライン」で説明されているパッケージのガイドラインに従い、パッケージが UAC と Windows Vista で動作することを確認する必要があります。 UAC に準拠するように作成およびテストされたパッケージには、1 に設定されている MSIDEPLOYMENTCOMPLIANT プロパティを含んでいる必要があります。
  • また、管理者は「昇格された特権を持つパッケージを管理者以外のためにインストール」セクションで説明されている方法を使用して、管理者以外のユーザーも昇格されたシステム特権を持つアプリケーションをインストール可能にできます。
  • アプリケーションをユーザーごとのマネージド コンテキストでインストールするには特権が必要なため、後続の Windows インストーラーによるアプリケーションの再インストールや修復も、昇格された特権を使用するインストーラーによって実行されます。 つまり、信頼できるソースからのパッチのみを、ユーザーごとのマネージド状態のアプリケーションに適用できます。 Windows インストーラー 3.0 以降では、パッチが昇格された特権を持つものとして登録されたら、そのパッチをユーザーごとのマネージド アプリケーションに適用できます。 詳細については、「ユーザーごとのマネージド アプリケーションにパッチ適用」を参照してください。

Note

Windows インストーラー パッケージをインストールするために昇格された特権が不要な際に、パッケージの作成者は UAC で表示されるダイアログ ボックスを非表示にしてユーザーに管理者の承認を求められます。 詳細については、「UAC ダイアログ ボックスを使用せずにパッケージを作成」を参照してください。