jkirkerx wrote:The original problem that lead to the question was that when the program running in the process was canceled, or halted due to a requirement missing, the cosmetic loop would still be running, instead of exiting and sending the appropriate message to the message pump to go to the next stage.
I actually have something to say about this. I have noticed over the last few years that many of the younger junior programmers coming out of college are no longer using exit codes. I have noticed this in many of the recent Microsoft products and applications from various other software vendors. I believe it is probably because most of us older engineers have experience with the Unix and DOS shell and have extensively used exit codes in bash,cshrc scripts and/or DOS batch files.
Unfortunately since the installer you are using is not returning an exit code upon cancellation... you may need to think outside the box and come up with a creative way to determine if your installer has completed. I noticed that one of your variable names was associated with Microsoft SQL Server... so maybe you could check the registry keys under the tree: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\
Finally, I would encourage you (and anyone reading this) to think of this experience as a lesson; Exit codes might be useful to someone... rather than always return 0; consider returning a useful value that reflects the outcome of the task.