| Previous | Next |
| CS_E_PACKAGE_NOTFOUND | CS_E_CLASS_NOTFOUND |
CS_E_NOT_DELETABLE
Deleting this will break the referential integrity of the software installation data in the Active Directory.
Windows defines CS_E_NOT_DELETABLE as 2147746149 (0x80040165; signed value -2147221147). The documented description is “Deleting this will break the referential integrity of the software installation data in the Active Directory.” Deleting the class-store object would break referential integrity. The relevant operation is removing directory-backed software-installation metadata referenced by other objects.
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 removing directory-backed software-installation metadata referenced by other objects, 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.
- enumerate inbound references and record their distinguished names.
- Check package, policy, and class associations before deletion.
- Perform the analysis on authoritative and replicated directory views.
Why it is specific
- It can result when packages, class mappings, or policy assignments still point to the object.
- It can result when a staged upgrade creates a replacement but has not redirected every reference.
- It can result when replication lag makes references appear inconsistent across controllers.
Investigation order
- Identify the exact object, method, and lifecycle phase involved in removing directory-backed software-installation metadata referenced by other objects.
Safe handling
Correction. remove or migrate dependent references first, allow replication to converge, then delete the object through the supported administration path. Retry condition. Retry only after dependencies are removed; forcing deletion risks orphaned deployment metadata. 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
An administrator attempts to remove a package object still assigned by a software-deployment policy; unassigning the policy and waiting for replication preserves integrity.
Difference from related HRESULTs
CS_E_OBJECTNOTFOUND reports absence; it confirms the object exists but dependencies make deletion unsafe.
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.
