ICE61

ICE61 检查升级表以确保满足以下条件:

  • 所有 ActionProperty 属性都不会在 Property 表中预先创作。
  • 所有 ActionProperty 属性都是公共属性。
  • 所有 ActionProperty 属性都包含在 SecureCustomProperties 属性中。
  • 所有 ActionProperty 属性对于 Upgrade 表中的每个记录都是唯一的。
  • 所有 VersionMax 值不小于相应的 VersionMin 值。
  • VersionMin 和 VersionMax 值是有效的产品版本。 有关有效的产品版本格式,请参阅 ProductVersion 属性。
  • 不会尝试删除当前产品的较新版本或相同版本。

未能修复 ICE61 报告的警告或错误通常会导致升级应用程序时出现问题。 根据确切的错误,这可能是任何内容,从旧版本隐藏文件,从旧版本中删除文件,即使新应用程序需要这些文件,或者升级完全失败。

结果

如果上述任何条件不真实,ICE61 将发布警告或错误。

ICE61 报告所示示例的以下错误和警告。

This product should remove only older versions of itself. The Maximum version is not less than the current product. (2.01.0000 2.01.0000)

在这种情况下,第一行将尝试删除同一版本的产品。 (VersionMax 列等于 Property 表中的产品版本)。

若要修复此错误,请使用低于 Property 表中指定当前版本的 VersionMax 列中的版本。 如果 VersionMax 等于当前版本,请从 Attributes 列中删除 msidbUpgradeAttributesVersionMaxInclusive 位。 如果意向只是检测产品而不删除它,则向 Attributes 列添加 msidbUpgradeAttributesOnlyDetect 位也会修复此错误。

Upgrade.ActionProperty EnglishAPPFOUND must be added to the SecureCustomProperties property.

除非属性列在 SecureCustomProperties 属性中,否则当找到该属性时,该属性不会传递到安装的服务器端。

若要修复此错误,请将属性添加到 secureCustomProperties

Upgrade.ActionProperty EnglishAPPFOUND must not contain lowercase letters.

升级属性必须是公共属性,才能将结果传递到安装的服务器端。

若要修复此错误,请使用属性名称中的所有大写字母。

Upgrade.ActionProperty OLDAPPFOUND may be used in only one record of the Upgrade table.

属性只能在升级表的一行中使用。

若要修复此错误,请对第二行使用不同的属性。

Upgrade.VersionMax cannot be less than Upgrade.VersionMin. (OLDAPPFOUND)

最低版本必须小于最大版本。

若要修复此错误,请检查版本号是否有拼写错误。 如果它们正确,并且想要使用这两个版本之间的范围,请切换它们,使 VersionMin 小于 VersionMax。

属性表

财产 价值
UpgradeCode {61AA4C55-E17F-11D2-93BB-0060089A76DB}
ProductVersion 2.01.0000
SecureCustomProperties OLDAPPFOUND

 

升级表

UpgradeCode VersionMin VersionMax 语言 属性 删除 ActionProperty
{61AA4C55-E17F-11D2-93BB-0060089A76DB} 2.01.0000 513 OLDAPPFOUND
{61AA4C55-E17F-11D2-93BB-0060089A76DB} 2.01.0001 2.01.0000 OLDAPPFOUND
{C6CB4596-D8E8-D5A4-635F-9FE456D682EB} 1.00.0000 2.00.0000 1033 [AppFeatureEnglish] EnglishAPPFOUND

 

ICE 参考