this is probably a FAQ but I have not been able to find a solution for this problem. During the startup of a program I check for several system requirements the program need in order to run. I kick off an installshield setup if some of these requirements are not met. Some of the requirements, e. g. MDAC, need a reboot after the setup program has finished others do not, e. g. registration of COM servers. In these cases I would like to wait for the setup program to finish. The standard way of doing this in C is to call CreateProcess for the external program, the installshield setup program in this case, and call WaitForSingleObject to wait for the child process to finish.
This does not work with an installshield setup because the program spawns another process and returns before the execution of the child process is finished.
Is there a work-around for this? What comes to mind is to use system semaphores but that would require the installshield project to free the semaphore itself.