ICE43

ICE43 验证不引用功能作为其目标(未播发快捷方式)的快捷方式位于具有 HKCU 注册表项作为其键路径的组件中。

结果

如果未播发的快捷方式位于没有 HKCU 注册表项的组件中,ICE43 将发布错误消息作为其键路径。

ICE43 将报告所示示例的以下错误。

ICE43 错误 描述
Component Component1 具有未播发的快捷方式。 它必须使用 HKCU 下的注册表项作为其 KeyPath,而不是文件。 Component1 的属性列为 0,这意味着组件使用文件作为其 KeyPath。 这会导致此组件中未播发的快捷方式仅为计算机上的第一个用户安装。 稍后安装该组件的用户看不到快捷方式,因为该组件显示为计算机上已存在的安装程序。 若要修复此错误,请将属性的 RegistryKeyPath 位设置为将组件切换到注册表项,然后将 KeyPath 值更改为注册表表中的有效条目。
组件组件 2 具有未播发的快捷方式。 它必须使用 HKCU 下的注册表项作为其 KeyPath。 KeyPath 当前为 null。 属性列设置为使用注册表,但 KeyPath 为 null。 KeyPath 必须引用注册表表中的条目。 若要修复此错误,请将 KeyPath 值更改为注册表表中的有效条目。
Component Component3 具有未播发的快捷方式。 其 KeyPath 注册表项必须位于 HKCU 下。 属性列设置为使用注册表,但引用的注册表项不在 HKCU 下。 若要修复此错误,请切换到其他注册表项作为此组件的 KeyPath,或者将注册表项的根值更改为 -1 或 1。
组件 Component4 的 KeyPath 注册表项不存在。 组件 KeyPath 列中引用的注册表项不在注册表表中。 若要修复此错误,请创建一个条目。
注册表项 Reg5 设置为 Component5 的 KeyPath,但该注册表项不属于 Component5。 组件 KeyPath 列中引用了一个注册表项,该条目位于 HKCU 树下,但注册表项的Component_列不会引用其列为 KeyPath 的同一组件。 这意味着,仅当安装了其他组件时,才会创建用作组件的 KeyPath 的注册表项。 若要修复此错误,请更改 KeyPath 值以引用属于组件的注册表项,或更改注册表项以将其用作 KeyPath 的组件。

 

组件表(部分)

元件 属性 KeyPath
Component1 0 File1
Component2 4  
Component3 4 Reg3
Component4 4 Reg4
Component5 4 Reg5

 

注册表表(部分)

注册表 价值 元件_
Reg3 2 Component3
Reg5 0 Component4

 

ICE 参考