PDA

View Full Version : Rebuild step if it fails via VBScript


modernrocketry
09-27-2012, 12:17 PM
I randomly experience a Microsoft VS2010\Windows 7 bug that causes a build to fail with a mt.exe error. It has been acknowledged by MS, but I have not seen a fix yet.

In the meantime, I'd like to work around it.

Is it possible to force a step to rebuild if the error or exitcode equals a certain value?

Something like this?

Sub vbld_StepDone()
If CLng(Application.ExpandMacros("%RUNPROGRAM_EXITCODE%")) = mt.exe's exist code Then
Step.?????????
End If
End Sub

kinook
09-27-2012, 09:43 PM
There is a retry option (on the More tab), but it always retries if the step fails (any exit code). If you only want to retry on one particular exit code, you could:

1) Put the Make VS step in a loop
2) Mark the Make VS step to continue on failure, and in the vbld_StepDone event, if devenv/msbuild returned a non-zero exit code other than the problem mt.exe exit code, force the build to fail (overriding the continue on failure option)
3) After the Make VS step, add an Exit step to exit the loop if the exit code was not the problem exit code.

See the attached sample.