ICE67

ICE67 检查未播发快捷方式的目标是否与快捷方式本身属于同一组件,或者检查目标组件的属性是否确保它不会更改安装位置。

未能修复 ICE67 报告的警告或错误可能会导致快捷方式在目标组件更改状态而源组件未更改状态时失效。 例如,当目标文件的组件设置为从源运行时,一个将组件更改为本地的重新安装会导致包含快捷方式的组件不会被重新安装。 因此,快捷方式指向无效的位置。

请注意,在某些情况下,为快捷方式使用不同的组件是不可避免的。 例如,如果在用户配置文件中创建快捷方式并将文件安装到非配置文件目录,则你可能无法对这两种数据使用相同的组件。 (这会导致多用户场景中出现失败,例如 ICE57 中描述的场景)。 在这种情况下,可以使用播发的快捷方式来实现所希望的行为,或者只需确保目标组件不能从源运行更改为本地运行即可。

结果

如果非播发快捷方式的目标与快捷方式本身不属于同一组件,或者如果目标组件的属性不能确保安装位置不会更改,则 ICE67 会返回错误或警告。

示例

ICE67 为所示示例报告以下警告和错误。

The shortcut 'Shortcut1' is a non-advertised shortcut with a file target. The shortcut and target are installed by different components, and the target component can run locally or from source.

Shortcut1 由 Component2 安装,但其目标文件 File1 由 Component1 安装。 目标组件标记为可选(这意味着它可以是 local,也可以是 run-from-source)。 会导致问题的一种可能情况是 Component1 从 run-from-source 更改为 local。 这会导致 Shortcut1 指向无效的位置。

若要修复此警告,请将快捷方式安装为 Component1 的一部分,或将 Component1 标记为 LocalOnly 或 SourceOnly。

File 表(部分)

文件 Component_
文件 1 Component1

 

Shortcut 表(部分)

快捷键 Component_ 目标
Shortcut1 Component2 [#File1]

 

Component 表(部分)

组件 特性
Component1 2

 

ICE 参考