I just encountered the error again, this time on my own system.
DXSetup.exe showed me the same "an internal system error has occurred" dialog, and then finished with a "Installation failed" dialog. Once I dismissed that, I was surprised to find that the return code reported by NSIS was "0" (success).
In other words, the NSIS command
ExecWait '"${DIRECTX_INSTALL_PATH}\DXSetup.exe"' $3
returned with $3 == 0, where I had expected it to return -9 (the return code for "internal error"). Also, the NSIS error flag is clear.
I was hoping I could at least detect a failure by inspecting the return value, so that I might pop up a "Please try installing DirectX manually" dialog.
Am I doing something wrong here? Is there another way to get the return value from invoking an exe?
|