升级表

升级表包含 主要升级期间所需的信息。 若要完全启用安装程序的升级功能,每个包都应具有 UpgradeCode 属性和 Upgrade 表。 升级表中的每条记录都提供升级代码、产品版本和语言信息的特征组合,用于标识一组受升级影响的产品。 当 FindRelatedProducts作检测到系统上安装的受影响产品时,它会将代码示例追加到 ActionProperty 列中指定的属性。 RemoveExistingProducts作和 MigrateFeatureStates作仅删除或迁移 ActionProperty 列中列出的产品。

升级表包含下表中显示的列。

类型 钥匙
UpgradeCode GUID Y N
VersionMin 文本 Y Y
VersionMax 文本 Y Y
语言 文本 Y Y
属性 整数 Y N
删除 格式化 N Y
ActionProperty 标识符 N N

 

UpgradeCode

此列中的 UpgradeCode 属性指定 FindRelatedProducts作要检测的所有产品的升级代码。

VersionMin

FindRelatedProducts检测到的产品版本的下限。 在属性中输入 msidbUpgradeAttributesVersionMinInclusive,以在区域中包括 VersionMin。 如果 VersionMin 等于空字符串 (“”),则计算结果与 0 相同。 如果 VersionMin 为 null,FindRelatedProducts 将忽略 msidbUpgradeAttributesVersionMinInclusive 并检测所有以前的版本。 VersionMin 和 VersionMax 不得均为 null。

VersionMin 必须是有效的产品版本,如 ProductVersion 属性所述。 请注意,Windows Installer 仅使用产品版本的前三个字段。 如果在产品版本中包括第四个字段,安装程序将忽略第四个字段。

VersionMax

FindRelatedProducts作检测到的产品版本的上限。 在属性中输入 msidbUpgradeAttributesVersionMaxInclusive,以在区域中包括 VersionMax。 如果 VersionMax 是空字符串 (“),则计算结果与 0 相同。 如果 VersionMax 为 null,FindRelatedProducts 将忽略 msidbUpgradeAttributesVersionMaxInclusive,并检测版本Min指定的下边界的所有产品版本,并 msidbUpgradeAttributesVersionMinInclusive。 VersionMin 和 VersionMax 不得均为 null。

VersionMax 必须是有效的产品版本,如 ProductVersion 属性所述。 请注意,Windows Installer 仅使用产品版本的前三个字段。 如果在产品版本中包括第四个字段,安装程序将忽略第四个字段。

语言

FindRelatedProducts检测到的语言集。 输入用逗号分隔的数字语言标识符(LANGID)列表。 在属性中输入 msidbUpgradeAttributesLanguagesExclusive,以检测语言中列出的所有语言。 如果 Language 为 null 或空字符串 (“),FindRelatedProducts 将忽略 msidbUpgradeAttributesLanguagesExclusive 并检测所有语言。

属性

此列包含指定 Upgrade 表属性的位标志。

位标志名称 十进制 十六进制 属性
msidbUpgradeAttributesMigrateFeatures 1 0x001 通过在 MigrateFeatureStates作中启用逻辑来迁移功能状态。
msidbUpgradeAttributesOnlyDetect 2 0x002 检测产品和应用程序,但不删除。
msidbUpgradeAttributesIgnoreRemoveFailure 4 0x004 在无法删除产品或应用程序时继续安装。
msidbUpgradeAttributesVersionMinInclusive 256 0x100 检测版本范围,包括 VersionMin 中的值。
msidbUpgradeAttributesVersionMaxInclusive 512 0x200 检测版本范围,包括 VersionMax 中的值。
msidbUpgradeAttributesLanguagesExclusive 1024 0x400 检测所有语言,不包括语言列中列出的语言。

 

删除

安装程序将 REMOVE 属性设置为此列中指定的功能。 可以在运行时确定要删除的功能。 在此字段中输入的 格式化 字符串必须计算为以逗号分隔的功能名称列表。 例如:[Feature1]、[Feature2]、[Feature3]。 如果字段包含计算结果为空字符串(“”)的格式文本,则不会删除任何功能。 仅当 Remove 字段为空时,安装程序才会设置 REMOVE=ALL。 请注意空字符串和空字段之间的差异。 如果该字段为空,则为 null。

ActionProperty

FindRelatedProducts作检测到系统上安装的相关产品时,它会将产品信息追加到此字段中指定的属性。 在此列中指定的属性必须是公共属性,包作者必须将该属性添加到 SecureCustomProperties 属性。 Upgrade 表中的每一行都必须具有唯一的 ActionProperty 值。 FindRelatedProducts 之后,此属性的值是列表错误代码,用分号(;),在系统上检测到)。

验证

ICE03
ICE06
ICE46
ICE61
ICE66