I'd like to request support for specifying a wait timeout when controlling a service with the Service_Control immediate custom action.
By default, the custom action uses an infinite timeout, and this may cause the setup installer to hang/appear hung.
So for example, we can add a new MSI property called "SERVICE_CONTROL_WAIT_TIMEOUT_IN_SECONDS" which gets used when waiting for the service control operation to complete.
It's default value will be set to infinite to support backwards compatibility.
If the timeout has elapsed before the operation has completed, then an exception should be thrown.
I'm thinking to also have the ability to optionally kill the service process if the timeout has elapsed depending on another MSI property called "SERVICE_CONTROL_STOP_KILL_PROCESS_IF_TIMEOUT_EXCEEDED" for example, when specifically trying to stop a service.