| Previous | Next |
| ERROR_SERVICE_DATABASE_LOCKED | ERROR_INVALID_SERVICE_ACCOUNT |
ERROR_SERVICE_ALREADY_RUNNING
The service is already running
StartService requests that the SCM start a service; the call is not an idempotent "ensure running" primitive. If the service is already running, Windows can return ERROR_SERVICE_ALREADY_RUNNING rather than launching a second service instance.
Automation should query current state before deciding whether this result is success, conflict, or evidence of a race. Also account for START_PENDING: a concurrent controller may have started the service and the second caller should wait for the transition instead of issuing repeated starts. If the product truly expects multiple instances, each independently managed Windows service needs its own service object/name or the executable must implement its own multi-instance model outside SCM service identity.
What to inspect
- Query current state and treat RUNNING and START_PENDING separately.
- Serialize competing start requests or make the controller explicitly idempotent.
- Do not expect SCM to create a second instance of one service object.
References
Looking for a different code? Search another status or error code.