0

インストーラーの一部として、SQL を実行する Windows バッチ cmd *.cmd ファイルがあります。このスクリプトは、SQL が失敗したときにゼロ以外の適切なリターン コードを返します。install4j インストーラーに戻りコードを認識させることができません。

私は2つのことを試しました:

  1. Run batch file アクションの失敗戦略を Quit on Failures に設定してみましたが、うまくいきませんでした。
  2. 戻りコードの値を変数 (sqlReturnCode) に設定し、その後のアクションでその変数をチェックしようとしましたが、うまくいきませんでした。

インストール ログを確認すると、stderr からログにリダイレクトされた SQL エラーが表示されますが、成功したか失敗したかに関係なく、次のように表示されます。

[情報] com.install4j.runtime.beans.actions.misc.RunExecutableAction [ID 72]: 変数が変更されました: sqlReturnCode=0 [class java.lang.Integer]

その変数を常にゼロに設定しています。「コンソールウィンドウを表示」オプションがチェックされていません。これは既知のバグですか? どうすれば修正/回避できますか?

4

1 に答える 1

1

これは、実行されているcmdスクリプトに問題がありました。ERRORLEVEL 環境変数が設定されていましたが、「exit /b %ERRORLEVEL%」が呼び出されていませんでした。

Install4j は、終了コマンドで設定されている適切なエラー レベルに依存しています。

于 2012-11-01T15:04:11.573 に答える