System Service to Spawn Client Apps

I have a monitoring app that can be run by any user on the system, and set to monitor the output of an outside server. What I need to do is to ensure that these client 'monitor' apps (with extensive user interface components) are running 24x7, for each user that has installed it.

To that end, I figured the best route would be to write up a master controller service, that will spawn off the client apps as needed (including restarting them if they crash). It would know which apps need to run by reading either local config files or the registry... that's the easy part.

The problem I'm having immediately is how to keep the client app from being killed when a user logs off. The secondary issue is if the master/service app launches a client app for a user (when the user is away, for instance on a system restart), how does the client app know when that user has logged in and display its window(s) on that new desktop?

It's all very complicated, but maybe someone knows of the basic things to look up that will do this, a simpler way to accomplish the task, or an example from elsewhere?

I've also noticed that though the master controller service app runs great, it doesn't actually start until after a user has logged in (it's set to log on as 'Local System'). Any ideas on that?

Edit: Figured out it runs fine at system start. It was just a reporting issue not happening until login.
[1486 byte] By [wildfire99] at [2007-11-20 8:18:30]