TRANSFORMS 属性
TRANSFORMS 属性是安装程序在安装包时应用的转换的列表。 安装程序按转换在属性中列出的顺序应用转换。 转换可以按文件名或按完整路径指定。 若要指定多个转换,请使用分号 (;) 分隔每个文件名或完整路径。 例如,若要对包应用三个转换,请将 TRANSFORMS 设置为文件名列表或完整路径列表。
TRANSFORMS=transform1.mst;transform2.mst;transform3.mst
TRANSFORMS=\\server\share\path\transform1.mst;\\server2\share2\path2\transform2.mst;\\server3\share3\path3\transform3.mst
可以通过在文件名前面加上冒号 (:) 来指示转换文件嵌入 .msi 文件的存储中,而不是一个独立文件。 例如,以下示例指示 transform1.mst 和 transform2.mst 嵌入在 .msi 文件中,而 transform3.mst 是独立文件。
TRANSFORMS=:transform1.mst;:transform2.mst;transform3.mst
安装程序在包的每次安装、播发、按需安装或维护安装时都需要 TRANSFORMS 中列出的转换。 TransformsSecure 策略、TRANSFORMS 属性和 TRANSFORMS 字符串的第一个字符告知安装程序如何处理独立转换文件的源复原能力。 Windows Installer 将 TransformsAtSource 策略 或 TRANSFORMSATSOURCE 设置得与 TransformsSecure 策略和 TRANSFORMSSECURE 相同。 请注意,嵌入 .msi 文件的转换不会缓存,并且始终从包中获取。
TRANSFORMS 属性 | 转换安全 | 缓存和复原能力 |
---|---|---|
@[文件名列表] 示例:@transform1.mst;transform2.mst; transform3.mst |
无效。 | Secure-At-Source 转换。 转换的源必须位于包的源的根目录中。 安装或播发包时,安装程序会将转换保存在用户计算机上用户没有写入访问权限的缓存中。 如果转换的本地副本不可用,安装程序将搜索源来还原缓存。 方法与在源列表中搜索 .msi 文件相同。 请参阅源复原能力。 |
[路径列表] 示例:\|\\server\share\path\transform1.mst;\\server2\share2\path2\transform2.mst |
无效。 | Secure-Full-Path 转换。 每个转换的源必须位于传递给 TRANSFORMS 的完整路径处。 转换源不必位于包的源处。 安装或播发包时,安装程序会将转换保存在用户计算机上用户没有写入访问权限的缓存中。 如果转换的本地副本不可用,安装程序只能从指定路径的源还原缓存。 |
[文件名列表] 第一个字符不是 @ 或 |。 示例: transform1.mst;transform2.mst;transform3.mst |
TransformsSecure 策略或 TRANSFORMSSECURE 设置为 1 或 TransformsAtSource 策略或 TRANSFORMSATSOURCE 设置为 1。 |
如果 TRANSFORMS 是文件名列表,安装程序会将其视为 Secure-At-Source 转换。 如果 TRANSFORMS 是完整路径列表,安装程序会将其视为 Secure-Full-Path 转换。 |
[文件名列表] 第一个字符不是 @ 或 |。 示例: transform1.mst;transform2.mst;transform3.mst |
TransformsSecure 策略和 TRANSFORMSSECURE 未设置且 TransformsAtSource 策略和 TRANSFORMSATSOURCE 未设置。 |
不安全的转换。 转换的源必须位于包的源的根目录中。 按用户安装或播发包时,安装程序会将转换保存在用户的配置文件中。 这使用户能够在计算机之间漫游,同时维护其自定义项。 对于按计算机安装,转换则保存在 %windir%\Installer 文件夹中。 如果转换的本地副本不可用,安装程序将搜索源来还原缓存。 方法与在源列表中搜索 .msi 文件相同。 请参阅源复原能力。 |
[路径列表] 第一个字符不是 @ 或 |。 示例: \\server\share\path\transform1.mst;\\server2\share2\path2\transform2.mst |
TransformsAtSource 策略和 TRANSFORMSSECURE 未设置且 TransformsAtSource 策略和 TRANSFORMSSECURE 未设置。 |
不安全的转换。 按用户安装或播发包时,安装程序会将转换保存在用户的配置文件中。 这使用户能够在计算机之间漫游,同时维护其自定义项。 对于按计算机安装,转换则保存在 %windir%\Installer 文件夹中。 如果转换的本地副本不可用,安装程序将搜索源来还原缓存。 方法与在源列表中搜索 .msi 文件相同。 请参阅源复原能力。 |
不能在同一 TRANSFORMS 列表中同时使用文件名和路径。 不能在同一列表中同时指定安全和配置文件转换。 可以将嵌入在包中的转换与其他转换一起包含在列表中。
@transform1.mst;:transform2.mst
|\\server\share\path\transform1.mst;:transform2.mst
请注意,由于转换的列表分隔符是分号,因此不得在转换文件名或路径中使用分号。
如果已使用 Windows Installer 设置 TransformsSecure 策略或 TRANSFORMSSECURE 属性,则当使用命令行设置 TRANSFORMS 时,无需传递 @ 或 | 符号。 如果列表完全包含位于源的文件名或完全包含完整路径,则安装程序假定为 Secure-At-Source 或 Secure-Full-Path 。 仍不能混合这两种类型的转换源。
请注意,安装程序对首次和维护安装期间应用的不安全转换使用不同的搜索顺序。 有关详细信息,请参阅不安全的转换。
要求 | 值 |
---|---|
版本 |
Windows Server 2012、Windows 8、Windows Server 2008 R2 或 Windows 7 上的 Windows Installer 5.0。 Windows Server 2008 或 Windows Vista 上的 Windows Installer 4.0 或 Windows Installer 4.5。 Windows Server 2003 或 Windows XP 上的 Windows Installer。 若要了解 Windows Installer 版本所需的最低 Windows Service Pack,请参阅 Windows Installer 运行时要求。 |