次の方法で共有


ICE92

ICE92 は、コンポーネント ID GUID を持たないコンポーネントも永続的なコンポーネントとして指定されていないことを確認します。 この ICE カスタム アクションは、GUID が ComponentId フィールドに指定されていないコンポーネントの コンポーネント テーブル をチェックし、msidbComponentAttributesPermanent フラグが [属性] フィールドに設定されていないことを確認します。 ICE92 は、msidbComponentAttributesPermanentmsidbComponentAttributesUninstallOnSupersedence 属性の両方を持つコンポーネントがないことを確認します。

ComponentId 列が null の場合、インストーラーはコンポーネントを登録せず、インストーラーによってコンポーネントを削除または修復することはできません。

結果

ICE92 は次のエラーを投稿します。

ICE92 エラー 形容
コンポーネント '[1]' には ComponentId がなく、永続的としてマークされます。 Component テーブル内のこのコンポーネントのエントリは ComponentId 列に null を持ち、属性列に msidbComponentAttributesPermanent

 

ICE92 は次の警告を投稿します。

ICE92 警告 形容
コンポーネント '[1]' は永続的およびアンインストールオン置き換えとしてマークされています。 コンポーネントが永続的であるため、置き換え時のアンインストール属性は無視されます。 コンポーネント テーブル のこのコンポーネントのエントリには、msidbComponentAttributesPermanentmsidbComponentAttributesUninstallOnSupersedence 属性の両方が指定されています。

 

ICE92 は、この例の次のエラーを報告します。

The Component 'Component1' has no ComponentId and is marked as permanent.

コンポーネント テーブルの (部分)

コンポーネント ComponentId ディレクトリ_ 属性 KeyPath
Component1   DirectoryA 16 FileA

 

ICE リファレンス