The log is below, I already did uninstall and reinstall once before, will try again if you wish. I may have a little time this evening, I will trace the executable and see if I notice anything overly odd if I can. Out of curiosity, what does your executable do exactly? I notice it links winsock, does it handle mini-dump uploading or something?
[09/16/06 - 21:23:50] Fleet Operations Loader Log - initialized
[09/16/06 - 21:23:50] (c) 2003-2006 Fleet Operations Development Team - http://www.fleetops.net
[09/16/06 - 21:23:50] Pre Launch - Full Parameters list:
[09/16/06 - 21:23:50] Pre Launch - Initializing cursors stage 1 (non zero value expected): -1
[09/16/06 - 21:23:50] Pre Launch - Initializing cursors stage 2 (non zero value expected): -1
[09/16/06 - 21:23:50] Pre Launch - Initializing cursors stage 3 (non zero value expected): -1
[09/16/06 - 21:23:50] Pre Launch - Initializing cursors stage 4 (non zero value expected): -1
[09/16/06 - 21:23:50] Pre Launch - EditorMode False
[09/16/06 - 21:23:50] Pre Launch - Chosen Splash \FOData\Splash\Splash1.bmp
[09/16/06 - 21:23:50] Pre Launch - Splash effect enabled
[09/16/06 - 21:23:51] Process launch - Version number refreshed
[09/16/06 - 21:23:51] Process launch - Path to executable G:\Program Files\Activision\Star Trek Armada II Fleet Operations\
[09/16/06 - 21:23:51] Process launch - Executable Command line "G:\Program Files\Activision\Star Trek Armada II Fleet Operations\armada2.tgt"
[09/16/06 - 21:23:51] Process launch - Path to executable exists -1
[09/16/06 - 21:23:51] Process launch - Reported Process ID 1568
[09/16/06 - 21:23:51] Post launch - 7315536/1568/292/-1
...
[09/16/06 - 21:23:51] Post launch - 7543696/1568/292/-1
[09/16/06 - 21:23:51] Post launch - 7543724/1568/292/-1
[09/16/06 - 21:24:02] Process launch - Opening Helper file stream handle@ reported ID 292
[09/16/06 - 21:24:02] Loader end processes - Closing stream handle reported (non zero value expected): -1
[09/16/06 - 21:24:02] Loader end processes - Resetting setcursors reported (non zero value expected): -1
[09/16/06 - 21:24:02] Loader end processes - Executing self termination
EDIT 1: Okay, this is funky wierd, I *know* I see traces of Visual Studio (7.0, maybe 6.0, but I think 7.0, really should upgrade to 7.1 at least, *far* more complient), yet I see so much of delphi layout as well, causing a lot of hopping around (hits the cache rather hard, should not do it, although the program does not do much so not really necessary to worry about). There seems to be a *massive* amount of unused code path's and resources, bloating the code far larger then what is necessary. Although some of these might be accessed through function pointers rather then direct links, but that is quite rare. Still have not yet run it, may not have time...
EDIT 2: Traced a bit, seems to churn something 5000 times, once done, performs more things (seems to call destructors of class-like structures to clean up things, like the window) and quits, digging more into that loop (don't suppose you could say what it is doing, maybe checking for armada2 startup or something?)...
EDIT 3: (Mostly my own note taking):
In the loop, which exists inside the exe and not a linked library:
It calls a function in user32.dll (to be figured out, 0x4AF818).
Then makes sure the return value is not zero (which it always is thus far, would jump away if it was not zero at this point).
Then calls a function inside the application itself (seemingly to make up for the missing library function), this function then jumps into kernel32.dll (0x7c802451)
After the kernel function returns it then jumps back and repeats the loop, no test after calling the kernel function, the kernel function probably sleeps or something (to be checked, now checked, SleepEx called with a value of 1).
EDIT 4: Kernel function checked, it is SleepEx, set above, checking the user32 function now...
EDIT 5: Have not yet figured out what the user32 function is that is called, but the purpose of this is that I notice that the log is in the middle of its "Post launch" sections when I terminate the trace inside the loop...
EDIT 6: Got more time to look, the function in the linker map for user32.dll is at location 0x1E581, which corresponds perfectly to the ASCII version of FindWindow (FindWindowA), and the params passed match as well (pass a null pointer for the class name and pass a pointer to a string {"Armada2\0"} for the window name param). So, the 5 second long loop tries to access the window named Armada2, if not, it sleeps for a millisecond (which will not actually sleep, just toss the context switch around to give other processes cpu time if need-be), and then loops. If not found within '5' seconds (in quotes because, as stated, the context switch will just be thrown around, possibly taking more then 1 millisecond, sleep is highly unreliable when used as timing on a granularity smaller then ~24ms, so it usually takes between 10-12 seconds in reality), it dumps out, cleans up everything, and dies. I wager I will find CreateProcess sometime before the loop is called, havn't checked, probably where the problem is however, will check later, I only had a minute to spare here...
EDIT 7: Before I need to go, just remembered something... Why is the window handle being looked for, and in such an active mannor as well? Only reason to need the window is to inject events directly into to. If you are just going to watch for when the application closes then you can get the process handle from CreateProcess when you launch the app, then just put a lock on it so the launcher freezes until the app closes, then when the app closes the launcher continues on as if it never stopped, just now instantly knowing the app is gone (handle is now invalid). Using that handle, before you put a lock on it or what-not, you can do a wide variety of functions on it, far more power then just a window handle, even injecting events into the process itself (rarely a reason to inject directly into a specific window and not an entire process). I have to admit that I am a tad bit confused as to why FindWindow is being called at all? Either way, need to go, talk later.