ICE92
ICE92 は、コンポーネント ID GUID を持たないコンポーネントも永続的なコンポーネントとして指定されていないことを確認します。 この ICE カスタム アクションは、GUID が ComponentId フィールドに指定されていないコンポーネントの コンポーネント テーブル をチェックし、msidbComponentAttributesPermanent フラグが [属性] フィールドに設定されていないことを確認します。 ICE92 は、msidbComponentAttributesPermanent と msidbComponentAttributesUninstallOnSupersedence 属性の両方を持つコンポーネントがないことを確認します。
ComponentId 列が null の場合、インストーラーはコンポーネントを登録せず、インストーラーによってコンポーネントを削除または修復することはできません。
結果
ICE92 は次のエラーを投稿します。
ICE92 エラー | 形容 |
---|---|
コンポーネント '[1]' には ComponentId がなく、永続的としてマークされます。 | Component テーブル内のこのコンポーネントのエントリは ComponentId 列に null を持ち、属性列に msidbComponentAttributesPermanent 。 |
ICE92 は次の警告を投稿します。
ICE92 警告 | 形容 |
---|---|
コンポーネント '[1]' は永続的およびアンインストールオン置き換えとしてマークされています。 コンポーネントが永続的であるため、置き換え時のアンインストール属性は無視されます。 | コンポーネント テーブル のこのコンポーネントのエントリには、msidbComponentAttributesPermanent と msidbComponentAttributesUninstallOnSupersedence 属性の両方が指定されています。 |
例
ICE92 は、この例の次のエラーを報告します。
The Component 'Component1' has no ComponentId and is marked as permanent.
コンポーネント テーブルの (部分)
コンポーネント | ComponentId | ディレクトリ_ | 属性 | KeyPath |
---|---|---|---|---|
Component1 | DirectoryA | 16 | FileA |
関連トピック