My service spawns a process for each core on the target machine using CreateProcessAsUser. The process is a MFC program which has been modified to run using commandline parameters rather than GUI controls. It has run successfully in this scenario since XP. I have two new machines running WIN7 x64 one with 8 cores and one with 12 cores but on both machines 7 processes get created and execute successfully but the 8th process starts and then dies. The process dies on MFC LoadFrame call with no exit code.
I have written my service so it can be run from the command line and when I execute it from the command line as the same user I use in CreateProcessAsUser I can successfully get the 8th 9th 10th etc process to start and execute normally. As you can imagine getting 7 to start makes me think I'm calling CreateProcessAsUser "fairly" correctly. Failing on LoadFrame suggests windows station or desktop problems. Any ideas?