ホーム
私訳です。より確かな記述は
MSDN(英語)を直接読んで下さい。
MSDN >
MSDN Library >
Win32 and COM Development >
Administration and Management >
Application Installation and Servicing >
Windows Installer >
Windows Installer Reference >
Glossary >
I
- installation context(インストール状況)
-
インストールの権利とインストールのタイプの組み合わせは、3つの異なったインストール状況を
生じさせます:ユーザーごとで非マネージド、ユーザーごとでマネージド、マシンごとでマネージド
です(per-user non-managed, per-user managed, and per-machine managed)。マシンごとで
非マネージドというものはありません。(訳注:マシンごとならシステム特権を使用しているはず。)
MSDN >
MSDN Library >
Win32 and COM Development >
Administration and Management >
Application Installation and Servicing >
Windows Installer >
Using Windows Installer >
Using Windows Installer with UAC >
Guidelines for Packages
パッケージの為のガイドライン
Windows Vista での
User Account Control (UAC) はインストールの間中 権限を制限するので、
Windows Installer パッケージの製作者は インストールはシステムのすべての部分が常に利用できる
と 決めてかかるべきではありません。
Group Policy 経由で標準ユーザーに正常に配置され得るインストーラーパッケージは ほとんどの
場合、Windows Vista の UAC と共にも働きます。もし
InstallUISequence table が
LaunchConditions action や
Privileged property に基づく条件を含む
LaunchCondition table を含んでいるなら、これの例外が起こり得ます。Windows Installer
パッケージ製作者は したがって、パッケージが UAC と Windows Vista と共に働く事を保証するのに
以下のガイドラインを守るべきです。
-
InstallUISequence テーブル中のアクションと共に
installation context 条件を含んでいる時、Privileged プロパティに基づく条件文を
使用する。
AdminUser プロパティに基づく条件を使用しない事。
-
インストール起動条件と共に installation context を含んでいる時、
InstallExecuteSequence テーブル (
英語 ) 中で
Custom Action Type 19 を使用して、カスタムアクションを Privileged プロパティ条件付きに
する。AdminUser プロパティや Privileged プロパティに基づいた条件を持った LaunchCondition
テーブル中でアクションを使用しない事。
- システムコンフィギュレーションを読んだり変更するには、InstallExecuteSequence テーブル
中で
deferred execution custom action を使用する。システムコンフィギュレーションを変更する
のに InstallUISequence テーブル中で即時実行カスタムアクションを使用しない事。
-
ユーザー固有ではない システムの一部を変更するには、InstallExecuteSequence テーブル中で遅延
カスタムアクションを使用する。カスタムアクションタイプの中に
msidbCustomActionTypeNoImpersonate ビットを含めるべき。
-
パッケージは昇格される事が要求され得ると知らせるのに
Word Count サマリープロパティの値から ビット3を落とす。パッケージを
インストールするのに昇格された権限が要求されない場合を除いて このビットを含めない事。
-
アプリケーションの requestedExecutionLevel を持つマニフェストを 含む。
-
オリジナルパッケージの
MsiPatchCertificate テーブル中に証明書を含め、すべてのパッチを同じ証明書で署名する。
-
もし Windows Installer パッケージをインストールするのに昇格された権限が要求されるなら、
パッケージの作者は インストールを始めるのに使用される
PushButton control の為に
ElevationShield アトリビュートを含めるべき。これは、ボタンをクリックすると インストール
を続けるのに管理者許可を要求している UAC ダイアログボックスが表示される事を ユーザーに警告
します。
-
パッケージは Windows Vista の UAC を満たすように書かれてテストされた
と Windows Installer に知らせるのに
MSIDEPLOYMENTCOMPLIANT プロパティを1にセットする。
もしこのプロパティがセットされていないと、パッケージが UAC を満たすかどうかをインストーラー
が決める。
グループポリシーの外で、UAC 遵守の為の以下のチェックが Windows XP 上で使用され得ます。
グループポリシーの外で UAC 遵守についてチェックするには
- 管理者としてコンピューターにログオンする。
- パッケージをマシンごとのインストールの為にアドバタイズする:
msiexec /jm package.msi
- コンピューターをログオフする。
- 標準ユーザーとしてコンピューターにログオンする。
- アドバタイズされたパッケージをインストールしようとする:
msiexec /i package.msi
- ほとんどの場合、もしインストールが成功なら パッケージは UAC を遵守しています。
- パッケージ中の MSIDEPLOYMENTCOMPLIANT プロパティを1にセットする。
- Windows Vista を使って パッケージの正式のインストールについてテストする。