ICE10
ICE10 验证子功能的播发状态是否与其父功能的播发状态匹配。
在父功能允许播放的情况下,子功能不得禁止播发。 因此,父属性和子属性的以下组合无效。
parent = msidbFeatureAttributesFavorAdvertise
child = msidbFeatureAttributesDisallowAdvertise
此组合无效,因为会在应该播发父级功能时关闭父级功能。 但反过来却是可以的。 当将父级功能标记为禁止播发时,可将子级标记为应该播发的功能。
ICE10 自定义操作通过 Feature 表的 Attributes 列确定父功能和子功能的状态。 请注意,将功能的状态设置为 0 并将其父级或子级设置为支持或禁止播发是有效的。
如果 Feature 表的 Attributes 列包含不匹配的播发状态,ICE10 会发布错误。
对于所显示的示例,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 表中。