Run service->application combo with service configured to restart on any error.I was not aware of that. That could do the trick indeed!
Service is responsible for running your main tasks and restarting your application, while your application only provides GUI (requestedExecutionLevel = asInvoker) for manipulating some service features like for example scan.Yeah, the layered design I wanted to use is something similar. Doing the processing in service, while gui is only for user configuration (and is weak)
Protect service registry keys by removing current user from ACLWanted to use the Cm callback which is available since XP.
I don't want to use undocumented, this is for commercial product.
PatchGuard won't allow you do this.Patchguard on XP? :)