1

NSIS スクリプトを .exe インストール ファイルにコンパイルします。コマンド ラインの \S サイレント オプションを使用して .exe を起動します。

インストールはサイレント モードで実行されますが、終了コード 1 があります。終了コード 1 は、ユーザーがウィザードでキャンセルを選択した場合に対応します。ただし、インストールは成功し、モードはサイレント (ユーザーの操作なし) になります。また、この終了コードはどこから来て、手動で終了コード 0 を強制する方法は?

インストールが成功した場合に終了コード 1 を強制するために、.onInstSuccess 関数で何かを行うことができるという考えがあります。

また、ExecWait は終了コードを変数にキャプチャしていますが、「設定」オプションはありません。

あなたは何をお勧めします?

感謝と敬意

4

1 に答える 1

3

サンプル コードがないと、問題の原因を推測するのが少し難しくなります。

で特定の終了コードを設定できますSetErrorLevel

ExecWait に関する限り、子プロセスが終了したことを返すと、何も設定しても意味がありません。子プロセスの終了コードを使用したい場合は、それを取得するだけです:

ExecWait '"c:\foo.exe"' $0
SetErrorLevel $0
于 2012-11-20T01:23:47.813 に答える