0

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

我尝试了两件事:

  1. 我尝试简单地将“运行批处理文件”操作中的失败策略设置为“失败时退出”,但这不起作用。
  2. 我尝试在变量(sqlReturnCode)中设置返回码的值并在后续操作中检查该变量,但没有成功。

当我检查安装日志时,我看到来自 stderr 的 SQL 错误被重定向到日志,但无论它是成功还是失败,我都会看到:

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

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

4

1 回答 1

1

这最终成为正在执行的 cmd 脚本的问题。正在设置 ERRORLEVEL enivonrmental 变量,但未调用“exit /b %ERRORLEVEL%”。

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

于 2012-11-01T15:04:11.573 回答