Session.FormatRecord 方法
Session 对象的 FormatRecord 方法从模板和记录数据返回格式化字符串。
语法
Session.FormatRecord(
record
)
参数
-
record
-
必需的 Record 对象,其中包含要格式化的模板和数据。 必须在字段 0 中设置模板字符串,后跟任何引用的数据参数。
返回值
此方法不返回值。
备注
FormatRecord 方法使用以下格式进程。
要格式化的参数括在方括号 [..] 中。 方括号可以循环访问,因为替换是由内向外解析的。
如果字符串的一部分括在大括号 { } 中,并且不包含方括号,则此部分保持不变,含大括号。
如果字符串的一部分括在大括号中,并且包含一个或多个属性名称,则如果发现所有属性,将显示文本(带有已解析的替换),不含大括号。 如果有任何属性未被发现,则删除大括号中的所有文本以及大括号本身。
使用 FormatRecord 方法化格式字符串
- 通过将标记替换为相应记录字段的值来替换数值参数,其中缺失值或 Null 值不生成文本。
- 通过将非记录参数替换为相应的值来处理生成的字符串,如以下说明中所述。
- 如果遇到形式为“[propertyname]”的子字符串,则将其替换为属性的值。
- 如果发现“[%environmentvariable]”形式的子字符串,则环境变量的值将被替换。
- 如果发现形式为 [#filekey] 的子字符串,将其替换为文件的完整路径,并将值 filekey 作为关键字写入文件表。 在安装程序运行 CostInitialize 操作、FileCost 操作和 CostFinalize 操作之前,[#filekey] 的值保持为空并且不会替换为路径。 [#filekey] 的值取决于文件所属组件的安装状态。 如果组件是从源运行的,则值是文件源位置的路径。 如果组件是在本地运行,则值是安装后文件目标位置的路径。 如果组件不存在,则路径为空。 有关检查组件安装状态的详细信息,请参阅检查功能、组件、文件的安装。
- 如果发现形式为 [$componentkey] 的子字符串,将其替换为组件的安装目录,并将值 componentkey 作为关键字写入组件表。 在安装程序运行 CostInitialize 操作、FileCost 操作和 CostFinalize 操作之前,[#componentkey] 的值保持为空并且不会替换为目录。 [$componentkey] 的值取决于组件的安装状态。 如果组件是从源运行的,则值是文件的源目录。 如果组件是在本地运行,则值是安装后的目标目录。 如果组件不存在,则值为空。 有关检查组件安装状态的详细信息,请参阅检查功能、组件、文件的安装。
- 如果发现形式为“[\c]”的子字符串,则将其替换为该字符,不进行任何进一步处理。 仅保留反斜杠后的第一个字符;其他部分全部删除。
要求
要求 | 值 |
---|---|
版本 |
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 |
DLL |
|
IID |
IID_ISession 定义为 000C109E-0000-0000-C000-000000000046 |
另请参阅