ICE10
ICE10 は、子機能の公開状態が親機能の公開状態と一致することを検証します。
親機能が公開通知を許可する場合、子機能が公開通知を禁止することはできません。 つまり、次の親属性と子属性の組み合わせは無効です。
parent = msidbFeatureAttributesFavorAdvertise
child = msidbFeatureAttributesDisallowAdvertise
この組み合わせが無効なのは、親の公開通知が予定されると常に親がオフにされるためです。 ただし、逆であれば許可されます。 親が公開通知禁止と指定されていても、子を公開通知許可と指定できます。
ICE10 カスタム アクションは、Feature テーブルの Attribute 列で親機能と子機能の状態を判別します。 機能の状態を 0 に設定し、その親または子の公開通知を許可または禁止に設定することは有効であることに注意してください。
結果
ICE10 でエラーが返されるのは、Feature テーブルの Attributes 列で公開状態が一致しない場合です。
例
ICE10 では、ここに示す例に対して次のエラー メッセージが返されます。
Conflicting states, one favors, one disallows. Child: Word differs in advertise state
from Parent: Office.
この例で、Microsoft Excel と Microsoft Word は Microsoft Office の子機能であることに注意してください。
Feature テーブル (一部)
機能 | Feature_Parent | 属性 |
---|---|---|
Office | [Null] | 4 |
Excel | Office | 4 |
Word | Office | 8 |
この例では、Word が公開通知を禁止するように設定されています。これは、その親である Office の公開通知許可の状態と矛盾しています。
場合によっては、ICE10 から次のエラーが返されます。
Parent feature: 'Parent' not found for child feature: 'Child'. This error means
that for the child feature 'Child', the feature 'Parent' is not listed in the
Feature table.
これは無効な外部キー参照を参照しています。 修正するには、'Child' が正しい親機能を指すようにするか、親機能 'Parent' のエントリを Feature テーブルに追加します。
関連トピック