Inno Setup 编译器可以在 Exec() 预处理器功能失败时停止吗?

Can Inno Setup compiler halt upon Exec() preprocessor function failure?

我的 Inno Setup 脚本在使用 #expr 编译时运行批处理脚本,如下所示:

#expr Exec("\build.bat", null, null, 1)

根据设计,#expr 会忽略 Exec() 调用的 return 值。这会默默地丢弃任何错误,这在我的情况下是不可取的。

可以让 Inno Setup 在 Exec() 失败时停止编译吗?

使用 #if and #error 指令:

#if Exec("\build.bat", null, null, 1) != 0
    #error The build batch has failed
#endif