ICE36
ICE36 验证 Icon 表中的每个图标是否在 Class、ProgId 或 Shortcut 表的 ARPPRODUCTICON 中至少列出一次。
在播发期间,安装程序会在用户的计算机上安装 Icon 表中列出的所有图标。 即使 Icon 表中有未使用的图标,仍然会运行安装,但会不必要地增加 .msi 文件的大小以及播发功能所需的时间和空间。
如果某个图标未在属性或表中引用,并且没有提供 UI 用来在运行时创建引用,则应删除该图标来提高性能。
如果 Icon 表中存在 Class、ProgId 或 Shortcut 表中未引用的图标,并且没有提供 UI 用来在运行时创建此类引用,那么 ICE36 会发布一条消息。
ICE36 针对所示示例报告以下错误。
Icon Bloat. Icon Icon4 is not used in the Class, Shortcut, or ProgID table. This adversely affects performance.
Icon 表(部分)
名称 | 数据 |
---|---|
Icon1 | Control1 |
Icon2 | Control2 |
Icon3 | Control3 |
Icon4 | Control4 |
ProgID 表(部分)
ProgID |
---|
Property1 |
Class 表(部分)
CLSID |
---|
{3E469ABA-3644-11d2-8892-00A0C981B015} |
Shortcut 表部分)
快捷键 | Icon_ |
---|---|
Shortcut1 | Icon2 |