install4j ExecuteLauncherAction 无人值守模式

install4j ExecuteLauncherAction in Unattended mode

我 运行 我们在无人值守模式下生成的安装程序(使用 -q 和 -splash "Title")向用户显示进度。

在安装结束时,我想启动已安装的应用程序,因此我在 FinishedScreen 添加了一个带有预选复选框的 ExecuteLauncherAction(以启动应用程序)。但在无人值守模式下,应用程序不会启动。日志显示了这个

[INFO] com.install4j.runtime.beans.screens.InstallationScreen [ID 6]: Rollback barrier reached
       command: move 1 screens, executing actions, checking condition
[INFO] com.install4j.runtime.beans.screens.FinishedScreen [ID 10]: Show screen
       Variable changed: executeLauncherAction=true[class java.lang.Boolean]
[INFO] com.install4j.runtime.beans.screens.FinishedScreen [ID 10]: command: finish
       cleaning up
       Finished

有没有办法强制安装程序在无人值守模式下执行启动程序?

当您将 "Execute launcher" 操作添加到 "Finish" 屏幕并使用 "Yes" 回答 "Additional confirmation" 问题时,install4j 添加条件表达式

context.getBooleanVariable("executeLauncherAction") && (!context.isUnattended())

开始行动。您可以将 "Condition expression" 属性 更改为

context.getBooleanVariable("executeLauncherAction")

也可以在无人值守模式下执行操作。