ICEM06

ICEM06 可检查模块对功能的无效直接引用。

合并模块 ICE 存储在名为 Mergemod.cub 的合并模块 .cub 文件中,而不是存储在包含用于包验证的 ICE 的 .cub 文件中。

结果

当模块数据库包含对功能的直接引用时,ICEM06 会发布错误。 模块的用户必须提供功能信息。

示例

ICEM06 针对包含下面所示数据库条目的模块发布以下错误消息。

The target of shortcut Shortcut1.GUID1 is not a property and not a null GUID. 
Modules may not directly reference features.
The row GUID2.LocalServer32.Component2 in the Class table has a feature reference 
that is not a null GUID. Modules may not directly reference features.

Shortcut 表(部分)

快捷键 目标
Shortcut1.GUID1 cmd.exe
Shortcut2.GUID1 [MyProp]
Shortcut3.GUID1 {00000000-0000-0000-0000-000000000000}

 

Class 表(部分)

CLSID 上下文 Component_ Feature_
GUID1 LocalServer32 Component1 {00000000-0000-0000-0000-000000000000}
GUID2 LocalServer32 Component2 MyFeature

 

ICEM06 因为 Shortcut 表中的第一条记录在“目标”字段中有一个不是属性或空 GUID 的条目,报告第一个错误。 模块不能直接引用功能。 模块的用户必须提供功能信息。 若要修复此错误,对功能的引用应替换为空 GUID。

ICEM06 因为 Class 表中的第二条记录在“功能”字段中有一个不是空 GUID 的条目,报告第二个错误。 模块不能直接引用功能。 模块的用户必须提供功能信息。 若要修复此错误,对功能的引用应替换为空 GUID。

合并模块 ICE 参考