If you use waitforsingleobject after createprocess, and you get a return value of WAIT_OBJECT_0, is this telling you the process has successfully started or that the process started, run its course and then ended.