I'm clearly missing something with your idea of bootstrap code embedded in the main script. The service code is 3400+ lines with 23 UDFs - any piece could be updated.

What I see using embedded code is the same problem I've had all along - how do I get the service to restart itself without using external commands? This is the only challenge I have - the detectionof new code and ultimate replacement of the code works fine.

Using a small bootloader to maintain the primary service works well, and does not need any more complexity than verifying that the parent PID is still active. The WMIProcessList UDF is even already part of the service core code. Of course, if the child processes would die when the parent died, it would eliminate the need to monitor the parent bootstrap process.

Glenn
_________________________
Actually I am a Rocket Scientist! \:D