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 表中的产品版本)。

若要修复此错误,请使用 VersionMax 列中低于 Property 表中指定的当前版本的版本。 如果 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 表的一行中使用。

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

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

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

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

Property 表

属性
UpgradeCode {61AA4C55-E17F-11D2-93BB-0060089A76DB}
ProductVersion 2.01.0000
SecureCustomProperties OLDAPPFOUND

 

Upgrade 表

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 2052 [AppFeatureEnglish] EnglishAPPFOUND

 

ICE 参考