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 表中。

ICE 参考