| Previous | Next |
| CS_E_NETWORK_ERROR | CS_E_SCHEMA_MISMATCH |
CS_E_ADMIN_LIMIT_EXCEEDED
The size of this object exceeds the maximum size set by the Administrator.
When Windows returns CS_E_ADMIN_LIMIT_EXCEEDED—HRESULT 2147746157, 0x8004016D, signed -2147221139—AllStat describes the condition as “The size of this object exceeds the maximum size set by the Administrator.” The actionable meaning is the directory software-installation object exceeds an administrator-defined size limit. The surrounding operation is creating or updating legacy Class Store package metadata.
The high bit in 0x8004016D is set, so this is a failure rather than a success or informational result. Its facility field is 4 (FACILITY_ITF) and its low 16-bit code is 365 (0x016D). Those bit fields classify the value, but they do not identify the failing object by themselves; the native method, object identity, and first producer of CS_E_ADMIN_LIMIT_EXCEEDED remain essential.
Precise failure point
Understanding CS_E_ADMIN_LIMIT_EXCEEDED requires this subsystem context: These CS_E values describe the legacy directory-backed COM Class Store. For CS_E_ADMIN_LIMIT_EXCEEDED, 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
CS_E_ADMIN_LIMIT_EXCEEDEDwith one exact operation in automatic class installation or lookup through COM Class Store policy and directory-backed software-installation objects. - Confirm that
CS_E_ADMIN_LIMIT_EXCEEDEDcame from creating or updating legacy Class Store package metadata, rather than from cleanup or a wrapper that ran afterward. - Preserve any IErrorInfo, underlying Win32 result, provider message, or callback failure that preceded
CS_E_ADMIN_LIMIT_EXCEEDED; the HRESULT alone should not erase a more specific cause.
Diagnostic evidence
A useful CS_E_ADMIN_LIMIT_EXCEEDED 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. For CS_E_ADMIN_LIMIT_EXCEEDED, also retain the application and component build, architecture, process and thread IDs, COM apartment, operation correlation ID, elapsed time, and the first state-changing event before the failure. When logging CS_E_ADMIN_LIMIT_EXCEEDED, redact content and credentials while preserving types, lengths, hashes, opaque identities, and lifecycle generations needed to reproduce its contract.
- For
CS_E_ADMIN_LIMIT_EXCEEDED, measure object and attribute sizes before submission. - For
CS_E_ADMIN_LIMIT_EXCEEDED, identify the attributes responsible for growth and duplicate values. - For
CS_E_ADMIN_LIMIT_EXCEEDED, record the applicable directory limit and whether the operation partially changed other objects.
Resolution path
- Capture
CS_E_ADMIN_LIMIT_EXCEEDEDat the first native return before a wrapper maps it to a generic exception. - Identify the exact object, method, and lifecycle phase involved in creating or updating legacy Class Store package metadata.
- Measure object and attribute sizes before submission.
- Identify the attributes responsible for growth and duplicate values.
- Record the applicable directory limit and whether the operation partially changed other objects.
- Reproduce
CS_E_ADMIN_LIMIT_EXCEEDEDwith one controlled input or state change, and verify that the correction changes the decisive evidence rather than merely hiding the result.
Distinct causes
CS_E_ADMIN_LIMIT_EXCEEDEDcan result when large embedded metadata or excessive class mappings make the object too large.CS_E_ADMIN_LIMIT_EXCEEDEDcan result when an update appends duplicate entries instead of replacing them.CS_E_ADMIN_LIMIT_EXCEEDEDcan result when directory administrative limits are lower in the target environment.
Retry policy
Correction. For CS_E_ADMIN_LIMIT_EXCEEDED, remove redundant metadata, split publication where supported, or adjust the documented administrative limit after capacity review. Retry boundary. Retry only after reducing the object or intentionally changing the limit; chunking an atomic object arbitrarily can corrupt semantics. Before repeating the CS_E_ADMIN_LIMIT_EXCEEDED 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 package publication repeats thousands of CLSID mappings on every update; deduplicating the multi-valued attribute brings the object under the limit. This isolates CS_E_ADMIN_LIMIT_EXCEEDED within legacy COM Class Store and Active Directory software-installation metadata and provides a regression test for the stated correction.
Difference from related HRESULTs
E_OUTOFMEMORY is a runtime allocation failure; CS_E_ADMIN_LIMIT_EXCEEDED is an explicit directory policy or object-size boundary. For CS_E_ADMIN_LIMIT_EXCEEDED, keep those outcomes separate in exception mappings, telemetry dimensions, user messages, and automated retry policy.
Developer and administrator guidance
For CS_E_ADMIN_LIMIT_EXCEEDED, treat CS_E results as a legacy automatic-installation contract, preserve directory and policy diagnostics, and fall back to ordinary COM registration only when the product explicitly supports it. Regression coverage for CS_E_ADMIN_LIMIT_EXCEEDED should include missing packages and classes, duplicate objects, malformed paths, version and schema mismatch, directory outages, administrative limits, and partial publication of metadata.
Operational repair for CS_E_ADMIN_LIMIT_EXCEEDED must target the evidence-backed owner: 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. Retain before-and-after traces for CS_E_ADMIN_LIMIT_EXCEEDED so the change can be attributed and reversed.
References
- Microsoft: generic COM error codes — official Microsoft documentation relevant to
CS_E_ADMIN_LIMIT_EXCEEDED. - Microsoft: HRESULT values — official Microsoft documentation relevant to
CS_E_ADMIN_LIMIT_EXCEEDED. - Microsoft: CLSIDFromProgIDEx — official Microsoft documentation relevant to
CS_E_ADMIN_LIMIT_EXCEEDED. - Microsoft: registering COM components — official Microsoft documentation relevant to
CS_E_ADMIN_LIMIT_EXCEEDED.
Looking for a different code? Search another status or error code.