Share via


MsiLockPermissionsEx テーブル

MsiLockPermissionsEx テーブルを使用して、サービス、ファイル、レジストリ キー、および作成されたフォルダーをセキュリティで保護できます。

パッケージには、MsiLockPermissionsEx テーブルと LockPermissions テーブルの両方を含めないでください。

Windows インストーラー 4.5 以前: サポートされていません。 このテーブルは、Windows インストーラー 5.0 以降でのインストールを目的としたパッケージに推奨されます。

MsiLockPermissionsEx テーブルには、次の列があります。

Column 種類 キー Nullable
MsiLockPermissionsEx テキスト Y N
LockObject Identifier N N
テーブル テキスト N N
SDDLText FormattedSDDLText N N
条件 Condition N Y

 

[列]

MsiLockPermissionsEx

これは、このテーブルの主キーです。

LockObject

この列とテーブル列を合わせて、セキュリティで保護するファイル、ディレクトリ、レジストリ キー、またはサービスを指定します。 LockObject 列は、テーブル列で指定されたテーブルの主キーを指す外部キーです。

テーブル

この列と LockObject 列は、セキュリティで保護するファイル、ディレクトリ、レジストリ キー、またはサービスを指定します。 テーブル列に「ファイル」、「レジストリ」、「CreateFolder」または「ServiceInstall」と入力して、ファイル テーブルレジストリ テーブルCreateFolder テーブル、または ServiceInstall テーブルに一覧表示されている LockObject を指定してください。

SDDLText

選択したオブジェクトに適用するアクセス許可を示す SDDL 文字列を入力します。 SDDL は、セキュリティ記述子の文字列形式で指定する必要があります。

これは、プライベート プロパティまたはパブリック プロパティをサポートしていません。

条件

この列には、指定したアクセス許可を適用するかどうかを決定するために使用される条件式が含まれています。 条件が FALSE と評価された場合、アクセス許可は適用されません。 条件が FALSE と評価された場合、アクセス許可は適用されます。

解説

サービス、ファイル、レジストリ キー、および作成されたフォルダーのセキュリティ保護の詳細については、「リソースのセキュリティ保護」を参照してください。

MsiLockPermissionsEx Table を使用して、インストール中に作成されるユーザー アカウントのオブジェクトをセキュリティで保護します。 インストールでオブジェクトがセキュリティで保護されるときには、ユーザー アカウントが既に存在している必要があります。 セキュリティで保護されているファイル、レジストリ キー、フォルダー、またはサービスをインストールする前に、ユーザー アカウントを作成します。

このテーブルの LockObject とテーブルのペアに true と評価される条件式が複数ある場合、インストールは失敗し、Windows インストーラーはエラー メッセージ 1942 を返します。

SDDLText フィールドの FormattedSDDLText 文字列を有効な SDDL 文字列に解決できない場合、インストールは失敗し、Windows インストーラーはエラー メッセージ 1943 を返します。

ユーザーがファイルまたはフォルダーの SDDLText フィールドで指定されたセキュリティ記述子を設定するための十分な特権を持っていない場合、インストールは失敗し、Windows インストーラーはエラー メッセージ 1926 を返します。

ユーザーがレジストリ キーの SDDLText フィールドで指定されたセキュリティ記述子を設定するための十分な特権を持っていない場合、インストールは失敗し、Windows インストーラーはエラー メッセージ 1401 を返します。

ユーザーがサービスの SDDLText フィールドで指定されたセキュリティ記述子を設定するための十分な特権を持っていない場合、インストールは失敗し、Windows インストーラーはエラー メッセージ 1944 を返します。

検証

ICE104
ICE03
ICE06