ICE60

ICE60 检查 File 表中的文件是否满足以下条件:

  • 如果文件不是字体且具有版本,则必须具有语言。
  • ICE60 检查 MsiFileHash 表中是否未列出任何版本控制的文件。

如果未修复 ICE60 报告的警告,通常会导致在完成产品维修时不必要地重新安装文件。 发生这种情况是因为要在修复中安装的文件和磁盘上的现有文件具有相同的版本(是相同的文件),但语言不同。 文件表将语言列为 null,但文件本身在资源中具有语言值。 根据文件版本控制规则,安装程序倾向于安装该文件,因此不必要地重新复制该文件。

结果

如果 File 表中的某个文件不是字体,有版本但没有语言,则 ICE60 会发布警告或错误。

如果 MsiFileHash 表中列出的文件进行了版本控制,ICE60 会发布以下错误。

ERROR: "The file [1] is Versioned. It cannot be hashed"

示例

对于所显示的示例,ICE60 会发出以下错误和警告。 (FileB 是字体;其他文件则不是。)

WARNING: The file FileE is not a Font, and its version is not a companion file reference. It should have a language specified in the Language column.

FileA 具有版本和语言;因此不会生成警告或错误。

FileB 具有版本,但没有语言。 但不会生成警告或错误,因为这是字体。

FileC 是一个配套引用,因此不必具有语言。 不会生成任何警告或错误。

FileD 没有版本,因此不需要语言。 不会生成任何警告或错误。

FileE 具有版本,但没有语言。 因此会生成警告。

若要修复此警告,请将语言添加到 FileE。

文件应尽可能将语言值存储在版本资源中。 如果文件与语言无关,请使用 LANGID 0。

File 表(FileB 是一种字体;其他文件则不是。)

文件 版本 语言
FileA 1.0 2052
FileB 1.0
FileC FileA
FileD
FileE 1.0

 

Font 表

文件 FontTitle
FileB 字体标题

 

ICE 参考