【发布时间】:2012-01-30 10:35:49
【问题描述】:
在我的 .nsi 文件中,我正在调用 ExecWait '"$INSTDIR\application.exe" ' $0 。在 application.exe 中,我返回成功和失败的退出代码。如何在 .nsi 文件中捕获这些退出代码。
【问题讨论】:
在我的 .nsi 文件中,我正在调用 ExecWait '"$INSTDIR\application.exe" ' $0 。在 application.exe 中,我返回成功和失败的退出代码。如何在 .nsi 文件中捕获这些退出代码。
【问题讨论】:
如果执行ExecWait出错,则传入的用户变量的内容是未定义的。
要简单地检查程序是否正确执行,请检查错误标志。 (顺便说一句,NSIS 预计成功为零,错误为非零)
ClearErrors
ExecWait '"$INSTDIR\application.exe"'
IfErrors 0 noError
; Handle error here
noError:
【讨论】:
应用程序的退出代码将存储在作为第二个参数传递给 ExecWait 的变量中,在您的示例中为 $0。
【讨论】:
main() 的摘录吗?基本上,在代码的末尾,如果你放了一个return 42;,那么应该在你给ExecWait的变量中捕获42个值