| Previous | Next |
| CS_E_OBJECT_NOTFOUND | CS_E_INVALID_PATH |
CS_E_OBJECT_ALREADY_EXISTS
The software installation data object in the Active Directory already exists.
Windows defines CS_E_OBJECT_ALREADY_EXISTS as 2147746154 (0x8004016A; signed value -2147221142). The documented description is “The software installation data object in the Active Directory already exists.” The directory software-installation object being created already exists. The relevant operation is publishing or migrating legacy Class Store package metadata.
Where it is raised
These CS_E values describe the legacy directory-backed COM Class Store. Public documentation is limited; the exact owner is the component performing automatic installation or directory lookup, so traces must identify that component rather than assigning the HRESULT to every modern COM activation path.
- Associate this result with one exact operation in automatic class installation or lookup through COM Class Store policy and directory-backed software-installation objects.
- Confirm that this result came from publishing or migrating legacy Class Store package metadata, rather than from cleanup or a wrapper that ran afterward.
Telemetry checklist
A useful incident records the requested CLSID or ProgID, directory object DN, package identifier, version, deployment path, domain controller, schema version, policy state, bind result, and object size.
- look up the object by immutable identity and compare all intended attributes.
- Correlate directory update IDs and audit records to detect a committed first attempt.
- distinguish an identical idempotent object from a conflicting stale object.
Why it is specific
- It can result when the operation is replayed after a timeout even though the first create committed.
- It can result when another administrator or deployment node created the same identity concurrently.
- It can result when a prior uninstall left the object but removed only some child metadata.
Investigation order
- Identify the exact object, method, and lifecycle phase involved in publishing or migrating legacy Class Store package metadata.
Safe handling
Correction. adopt the identical existing object or update it through a supported modify path; resolve conflicts explicitly instead of overwriting blindly. Retry condition. Retry as a create is unsafe until existence is reconciled because duplicate child records or policy links may result. Before repeating the operation, determine whether directory metadata, package staging, or a local installation changed before failure and avoid deleting a directory object whose ownership is not established.
Practical scenario
A publishing tool times out after the server commits the object and repeats Add; reading back and validating the existing package turns the operation into safe idempotency.
Difference from related HRESULTs
CS_E_OBJECT_NOTFOUND indicates absence; it requires comparison before deciding whether the operation already succeeded.
Developer and administrator guidance
Involve the Active Directory or software-deployment owner, verify policy and domain-controller evidence, and use the management system that created the package or class-store object.
References
Looking for a different code? Search another status or error code.