| Previous | Next |
| ERROR_SERVICE_MARKED_FOR_DELETE | ERROR_ALREADY_RUNNING_LKG |
ERROR_SERVICE_EXISTS
Service creation collided with an existing SCM service object
CreateService adds a service object to the SCM database under its service name. The installed-services database is stored under the Services registry tree, with one subkey per installed service or driver service. ERROR_SERVICE_EXISTS means the requested service identity is already present.
Before treating installation as idempotent, open the existing service and compare its binary path, service type, start type, account, dependencies, and optional configuration with the deployment manifest. Service names are compared case-insensitively, so changing only letter case does not create a new service. Do not delete and recreate a service automatically when ownership is uncertain; service security descriptors, failure actions, SID configuration, triggers, and other settings can belong to another product or an earlier installation that requires migration.
What to inspect
- Open the existing service and compare its configuration with the installer manifest.
- Treat service names as case-insensitive identifiers.
- Choose explicitly between update, migration, rename, or failure before deleting anything.
References
- Microsoft: CreateServiceW
- Microsoft: Database of Installed Services
- Microsoft: HKLM SYSTEM CurrentControlSet Services registry tree
Looking for a different code? Search another status or error code.