自定义作类型 5

此自定义作以 JScript 编写,例如 ECMA 262。 Windows Installer 不支持 JScript 1.0。 有关详细信息,请参阅 脚本

该脚本是从临时二进制流生成的。 CustomAction 表的源字段 包含 二进制表的键。 Binary 表中的“数据”列包含流数据。 为每个行分配单独的流。

可以使用 MsiRecordSetStream 后跟 MsiViewModify 将记录插入表中,从文件中插入新的二进制数据。 调用自定义作时,流数据将复制到临时文件,然后根据自定义作的类型进行处理。

类型值

CustomAction 表的 Type 列中包括以下值 以指定 32 位自定义作的基本数值类型。

常数 十六进制 十进制
msidbCustomActionTypeJScript + msidbCustomActionTypeBinaryData 0x05 5

 

Windows Installer 可以在 64 位作系统上使用 64 位自定义作。 基于脚本的 64 位自定义作必须在其数值类型中包含 msidbCustomActionType64BitScript 位。 有关信息,请参阅 64 位自定义作。 在 CustomAction 表的 Type 列中包括以下值, 指定 64 位自定义作的基本数值类型。

常数 十六进制 十进制
msidbCustomActionTypeJScript + msidbCustomActionTypeBinaryData + msidbCustomActionType64BitScript 0x0001005 4101

 

目标

CustomAction 表的目标字段 包含可选脚本函数。 处理首先发送用于分析的脚本,然后调用可选的脚本函数。

返回处理选项

CustomAction 表的 Type 列中包括可选标志位, 指定返回处理选项。 有关选项和值的说明,请参阅 自定义作返回处理选项

执行计划选项

CustomAction 表的 Type 列中包括可选标志位 以指定执行计划选项。 这些选项控制自定义作的多次执行。 有关选项的说明,请参阅 自定义作执行计划选项

In-Script 执行选项

CustomAction 表的 Type 列中包括可选标志位 以指定脚本内执行选项。 这些选项将作代码复制到执行、回滚或提交脚本中。 有关选项的说明,请参阅 自定义作 In-Script 执行选项

返回值

脚本中编写的可选函数必须返回 JScript 的返回值和 VBScript 自定义作中所述的值之一。

言论

用 JScript 或 VBScript 编写的自定义作需要安装 会话对象。 安装程序使用名称 会话Session 对象附加到脚本。 由于安装回滚期间可能不存在 会话 对象,因此脚本中编写的延迟自定义作必须使用 会话 对象的方法或属性之一,获取延迟执行的自定义作的上下文信息 来检索其上下文。

导出数据库表时,每个流将作为以表命名的子文件夹中的单独文件写入,使用主键作为文件名(二进制表的名称列),默认扩展名为“.ibd”。 如果文件系统或版本控制系统不支持长文件名,则名称应使用 8.3 文件格式。 永久性存档文件将流数据替换为使用的文件名,以便可以在导入表时找到数据。

Custom_Actions