Share via


ICE81

ICE81 では、MsiDigitalCertificate テーブルMsiDigitalSignature テーブルMsiPatchCertificate テーブルMsiPackageCertificate テーブルを検証します。 この ICE カスタム アクションでは、未使用または参照されていないデジタル証明書に対する警告をポストし、署名されたオブジェクトが存在しない場合、または署名されたオブジェクトのキャビネットが外部データを指していない場合にエラーをポストします。

ICE03 では、MsiDigitalSignature テーブルの Table 列のエントリが "Media" であることが確認されることに注意してください。

結果

ICE81 では、未使用または参照されていないデジタル証明書に対して次の警告をポストします。

ICE81 の警告 説明
MsiDigitalCertificate テーブル内のレコードへの参照は、MsiDigitalSignature、MsiPackageCertificate、または MsiPatchCertificate テーブルで見つかりませんでした。 この警告は、すべてのレコードが未使用である場合に返されます。
デジタル証明書 [1] への参照は、MsiDigitalSignature、MsiPackageCertificate、または MsiPatchCertificate テーブルで見つかりませんでした。 この警告は、(すべてではなく) 一部のレコードが未使用である場合に返されます。

 

ICE81 では、次のエラーがポストされます。

ICE81 のエラー 説明
メディア テーブルが存在しません。 したがって、MsiDigitalSignature のすべてのエントリが正しくありません 署名されたオブジェクトが存在しません。 このエラーは、メディア テーブルが存在せず、MsiDigitalSignature にエントリがある場合に返されます。
メディア テーブルに署名されたオブジェクト [2] がありません 署名されたオブジェクト [2] が存在しません。 このエラーは、メディア テーブルは存在するが、MsiDigitalSignature のこのエントリがメディア テーブルに存在しない場合に返されます。
キー [2] を持つテーブル [1] のエントリが署名されています。 したがって、キャビネットはパッケージの外部にあるオブジェクトを指す必要があります (Cabinet の値の先頭に # を付けてはいけません) 署名されたオブジェクトのキャビネットは、外部データを指していません。 [1] はテーブル名です。 [2] はメディア テーブルのキーです。

 

ICE リファレンス