如何根据Windows批处理命令错误级别使install4j安装程序失败

如何根据Windows批处理命令错误级别使install4j安装程序失败,install4j,Install4j,作为安装程序的一部分,我有一个运行sql的windows批处理cmd*.cmd文件。当sql失败时,此脚本返回正确的非零返回代码。我无法让install4j安装程序识别返回代码 我尝试了两件事: 我试图简单地将Run batch file操作中的失败策略设置为在失败时退出,但这不起作用 我尝试在一个变量(sqlReturnCode)中设置返回代码的值,并在后续操作中检查该变量,但没有成功 当我检查安装日志时,我看到stderr中的SQL错误被重定向到日志中,但无论它成功还是失败,我都看到: [I

作为安装程序的一部分,我有一个运行sql的windows批处理cmd*.cmd文件。当sql失败时,此脚本返回正确的非零返回代码。我无法让install4j安装程序识别返回代码

我尝试了两件事:

  • 我试图简单地将Run batch file操作中的失败策略设置为在失败时退出,但这不起作用
  • 我尝试在一个变量(sqlReturnCode)中设置返回代码的值,并在后续操作中检查该变量,但没有成功
  • 当我检查安装日志时,我看到stderr中的SQL错误被重定向到日志中,但无论它成功还是失败,我都看到:

    [INFO]com.install4j.runtime.beans.actions.misc.RunExecutableAction[ID 72]:变量已更改:sqlReturnCode=0[class java.lang.Integer]


    它总是将变量设置为零。我没有选中“显示控制台窗口”选项。这是已知的bug吗?如何修复/解决它?

    这最终导致执行cmd脚本时出现问题。正在设置ERRORLEVEL enivonmental变量,但未调用“退出/b%ERRORLEVEL%”

    Install4j依赖于使用exit命令设置的正确错误级别