By the way, the reason that running SignDataFlexProjectExe (or any compiled DataFlex program) hangs in the post compilation process and not from the tools menu is that the post compilation is doing a runprogram shell wait and the tools menu is just a runprogram shell (no wait). It is the use of wait (or, in the case of folks using a shellexecute external function, the use of WaitForSingleObject) that sets things up to hang.