Install4j - 在失败的情况下是否有任何完成阶段选项?

Install4j - is there any finalization stage option in case of a failure?

我们正在使用 Install4j 6.1.6。在安装程序上,失败策略 操作选项之一是 Quit on failure

标记该选项时,安装程​​序将尝试回滚以前的更改,但并不总是能够。这种情况的一个例子是安装程序安装了一个 window 服务,但它无法通过回滚正确卸载它,以防以后出现故障。

有什么方法可以定义 'finally' 步骤,我可以在其中定义失败时应该发生什么?

编辑:我知道在“运行 executable or batch file" 操作,但它仍然无法解决我的问题,因为我有很多操作在服务安装后可能会失败。有什么方法可以在一批操作上定义这样的 属性 吗?

在回滚的情况下,没有 运行 的操作块。

最好的选择可能是使用仅将 true 作为脚本的 "Run script" 操作,并使用其 "Optional Rollback Script" 属性 来执行清理。

如果您需要回滚代码中动作的功能,您可以实例化动作并以编程方式执行它们,如下所示:

import com.install4j.runtime.beans.actions.misc.RunExecutableAction;

RunExecutableAction action = new RunExecutableAction();
action.setExecutable(...);
action.setArguments(...);

action.execute(context);