自定义操作类型 18

此自定义操作调用使用命令行启动的可执行文件。

可执行文件是从随应用程序一起安装的文件生成的。 CustomAction 表的“源”字段包含 File 表的键。 自定义操作代码的位置取决于此文件的目标路径的解析;因此,必须在安装文件之后和移除文件之前调用此自定义操作。

类型值

CustomAction 表的 Type 列中包含以下值,以指定基本数值类型。

常量 十六进制 十进制
msidbCustomActionTypeExe + msidbCustomActionTypeSourceFile 0x012 18

 

目标

CustomAction 表的 Target 列包含 Source 列中标识的可执行文件的命令行字符串。

返回处理选项

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

执行计划选项

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

脚本内执行选项

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

返回值

作为可执行文件的自定义操作必须返回值 0 才能成功。 安装程序将任何其他返回值解释为失败。 若要忽略返回值,请在 CustomAction 表的 Type 字段中设置 msidbCustomActionTypeContinue 位标志。

备注

启动可执行文件的自定义操作采用命令行,该命令行通常包含动态指定的属性。 如果这也是延迟执行自定义操作,那么在从安装脚本调用自定义操作时,安装程序将使用 CreateProcessAsUserCreateProcess 来创建进程。

引用已安装文件作为其源的自定义操作(例如自定义操作类型 18 (EXE))必须遵守以下顺序限制:

  • 自定义操作必须排在 CostFinalize 操作之后。 这样,自定义操作就可以解析查找 EXE 所需的路径。
  • 如果源文件尚未安装在计算机上,则必须将这种类型的延迟(脚本内)自定义操作排在 InstallFiles 操作之后。
  • 如果源文件尚未安装在计算机上,则必须将这种类型的非延迟自定义操作排在 InstallFinalize 操作之后。

Custom_Actions

可执行文件