install4j:从命令行(Windows 和 Linux)启动 GUI 模式时,显示 URL 操作失败且没有错误消息
install4j: Show URL action fails without error message when launching GUI mode from command line (Windows and Linux)
在安装程序结束时,我们将执行 "Show URL" 操作以在浏览器中启动我们的应用程序。但是,我们看到浏览器没有启动,并且向用户显示了 "An error occurred while starting the browser" 消息(当 运行 没有权限时,错误消息不会显示,但浏览器也不会启动)。
查看日志输出(使用-Dinstall4j.debug=true -Dinstall4j.logToStderr=true
)没有异常或错误消息。事实上,它表示操作已成功完成:
[INFO] com.install4j.runtime.beans.actions.finish.ShowURLAction [ID #####]: Execute action
...
Execute action successful after 33607 ms
注意:它超过了 33 秒,因为那是我在对话框中单击“确定”之前的时间。操作立即失败。
另一个有趣的地方是该操作配置了失败策略 "Ask user whether to quit on failure" 但是呈现给用户的对话框只有一个 "OK" 按钮。
我设法在 Linux 上重现了所有这些,但是我们的一些用户在 Windows 中从命令行启动安装程序时看到了类似的行为。
有人知道这个问题的原因吗?
这意味着您正在使用的 JRE Desktop.isDesktopSupported()
或 Desktop.getDesktop().isSupported(Desktop.Action.BROWSE)
return false
。
至于没有失败的动作,那是个bug,会在6.1.3修复。您看到的错误消息直接显示为操作。失败策略是对所有操作是否失败做出反应的通用机制。
在安装程序结束时,我们将执行 "Show URL" 操作以在浏览器中启动我们的应用程序。但是,我们看到浏览器没有启动,并且向用户显示了 "An error occurred while starting the browser" 消息(当 运行 没有权限时,错误消息不会显示,但浏览器也不会启动)。
查看日志输出(使用-Dinstall4j.debug=true -Dinstall4j.logToStderr=true
)没有异常或错误消息。事实上,它表示操作已成功完成:
[INFO] com.install4j.runtime.beans.actions.finish.ShowURLAction [ID #####]: Execute action
...
Execute action successful after 33607 ms
注意:它超过了 33 秒,因为那是我在对话框中单击“确定”之前的时间。操作立即失败。
另一个有趣的地方是该操作配置了失败策略 "Ask user whether to quit on failure" 但是呈现给用户的对话框只有一个 "OK" 按钮。
我设法在 Linux 上重现了所有这些,但是我们的一些用户在 Windows 中从命令行启动安装程序时看到了类似的行为。
有人知道这个问题的原因吗?
这意味着您正在使用的 JRE Desktop.isDesktopSupported()
或 Desktop.getDesktop().isSupported(Desktop.Action.BROWSE)
return false
。
至于没有失败的动作,那是个bug,会在6.1.3修复。您看到的错误消息直接显示为操作。失败策略是对所有操作是否失败做出反应的通用机制。