关于转换
转换是对安装应用的一系列更改。 通过将转换应用于基本安装包,安装程序可以添加或替换安装数据库中的数据。 安装程序只能在安装期间应用转换。
安装程序在安装过程中注册产品所需的转换列表。 在配置或安装产品时,安装程序必须将这些转换应用于产品的安装包。 如果列出的转换不可用,并且转换源复原能力无法将其还原,则安装将失败。
转换可以修改安装程序数据库中任何永久性表中的信息。 转换还可以在安装程序数据库中添加或移除永久性表。 转换无法修改未包含在数据库表中的安装包的任何部分,例如摘要信息流中的信息、子存储中的信息或嵌入文件柜中的文件。
转换具有摘要信息流,其中可能包含验证条件和错误条件。 可以使用 MsiCreateTransformSummaryInfo 函数将转换验证和错误条件添加到摘要信息中。 验证条件控制安装程序是否可以将转换应用于给定的安装数据库。 转换验证可以基于转换中指定的 UpgradeCode、ProductCode、ProductVersion 和 ProductLanguage 属性的值以及安装数据库中这些属性的值。 转换错误条件控制应用转换时将禁止显示哪些错误。 转换中包含的错误条件由使用 MsiDatabaseApplyTransform 和 ApplyTransform 方法指定的错误条件替代。
注意
典型的自定义转换没有验证条件,也没有针对 ProductCode 进行验证。 存储在修补程序包中的转换通常具有严格的验证条件,以确保将正确的转换应用于修补程序目标。
有三种类型的 Windows Installer 转换: