自定义操作类型 18
此自定义操作调用使用命令行启动的可执行文件。
源
可执行文件是从随应用程序一起安装的文件生成的。 CustomAction 表的“源”字段包含 File 表的键。 自定义操作代码的位置取决于此文件的目标路径的解析;因此,必须在安装文件之后和移除文件之前调用此自定义操作。
类型值
在 CustomAction 表的 Type 列中包含以下值,以指定基本数值类型。
常量 | 十六进制 | 十进制 |
---|---|---|
msidbCustomActionTypeExe + msidbCustomActionTypeSourceFile | 0x012 | 18 |
目标
CustomAction 表的 Target 列包含 Source 列中标识的可执行文件的命令行字符串。
返回处理选项
在 CustomAction 表的 Type 列中添加可选标志位,以指定返回处理选项。 有关这些选项和值的说明,请参阅自定义操作返回处理选项。
执行计划选项
在 CustomAction 表的 Type 列中包含可选标志位,以指定执行计划选项。 这些选项控制自定义操作的多次执行。 有关这些选项的说明,请参阅自定义操作执行计划选项。
脚本内执行选项
在 CustomAction 表的 Type 列中添加可选标志位,以指定脚本内执行选项。 这些选项将操作代码复制到执行、回滚或提交脚本中。 有关这些选项的说明,请参阅自定义操作脚本内执行选项。
返回值
作为可执行文件的自定义操作必须返回值 0 才能成功。 安装程序将任何其他返回值解释为失败。 若要忽略返回值,请在 CustomAction 表的 Type 字段中设置 msidbCustomActionTypeContinue 位标志。
备注
启动可执行文件的自定义操作采用命令行,该命令行通常包含动态指定的属性。 如果这也是延迟执行自定义操作,那么在从安装脚本调用自定义操作时,安装程序将使用 CreateProcessAsUser 或 CreateProcess 来创建进程。
引用已安装文件作为其源的自定义操作(例如自定义操作类型 18 (EXE))必须遵守以下顺序限制:
- 自定义操作必须排在 CostFinalize 操作之后。 这样,自定义操作就可以解析查找 EXE 所需的路径。
- 如果源文件尚未安装在计算机上,则必须将这种类型的延迟(脚本内)自定义操作排在 InstallFiles 操作之后。
- 如果源文件尚未安装在计算机上,则必须将这种类型的非延迟自定义操作排在 InstallFinalize 操作之后。
相关主题