Can you just add a checkbox prechecks to the Custom Action Service Start/Stop to check to see if the service is installed and running (or stopped respectively)
The use case is right now I have several services that are installed, On Install I do a start service at end, but if the service didn't exist then I don't want attempt to start. More importantly is on uninstall, the service may already be stopped, in which case a service stop fails. To properly handle you need to do a detect service. Given that proper error handling dictates you always check (really necessary if the fail installation ... is checked)
I understand I can (and currently do) check the above either via the detect service or custom method in a installer dll, it would just be simpler and eliminate extra steps if it were included.