8
If there is an error performing ExecWait, then the contents of the user variable passed in is undefined.
To simply check if the program executed correctly or not, check the error flag. (btw, NSIS expects zero for success and non-zero for error)
ClearErrors
ExecWait '"$INSTDIR\application.exe"'
IfErrors 0 noError
; Handle error here
noError: