| Previous | Next |
| COMADMIN_E_COMP_MOVE_DEST | COMADMIN_E_BASEPARTITION_REQUIRED_IN_SET |
COMADMIN_E_COMP_MOVE_PRIVATE
COMADMIN_E_COMP_MOVE_PRIVATE is the failure HRESULT 0x8011081E (signed decimal -2146367458, unsigned decimal 2148599838). Its severity bit is 1, facility is 17 (FACILITY_ITF), and the facility-specific code field is 0x081E.
Private-component isolation during move or copy: exact meaning of COMADMIN_E_COMP_MOVE_PRIVATE
The component is marked private, and the requested destination would weaken or violate its activation boundary by placing it in a library application or the base partition. Private components are intended for use only by other components in the same application.
AllStat records the Windows SDK description as “A private component cannot be moved (or copied) to a library application or to the base partition”.
Where COMADMIN_E_COMP_MOVE_PRIVATE occurs
Destination compatibility is checked after COM+ resolves the private source component. Application type and partition placement are both part of the decision.
Typical cause branches
- a private helper component is copied into a library application.
- a private component from a non-base partition is moved to the base/global partition.
- automation treats IsPrivateComponent as ordinary metadata instead of an activation boundary.
- the wrong destination is selected by friendly name or partition context.
Diagnostic sequence for COMADMIN_E_COMP_MOVE_PRIVATE
- confirm that the component is intentionally private.
- map which same-application components call it and whether external clients exist.
- choose a compatible destination that preserves the private boundary.
- redesign or explicitly change privacy only after security and activation review.
- move/copy through COMAdmin and test allowed and denied activation paths.
Evidence to collect before changing the catalog
- component CLSID, IsPrivateComponent value, source/destination AppIDs and partitions.
- destination activation type and intended callers.
- current role/security settings and in-application dependency graph.
- exact move/copy operation and package/deployment rationale.
Practical administration scenario
A shared utility application is a library application, but a deployment tries to copy into it a helper class marked private inside a tenant server application.
Difference from nearby COMADMIN results
COMADMIN_E_PRIVATE_ACCESSDENIED is returned when external activation of a private component is attempted; this value prevents a move/copy that would create an invalid private-component placement.
Retry and recovery
Retry only after choosing a compatible destination or intentionally changing the component’s privacy design. Clearing the flag merely to pass deployment can expose an internal class.
What this HRESULT does not establish
The HRESULT does not say that private components cannot ever be moved. It rejects the named destination types and partition boundary.
Developer and operations guidance
Log CLSID, privacy flag, source/destination AppIDs, application types, partition IDs, dependency inventory, and the requested move/copy mode.
Official Microsoft references for COMADMIN_E_COMP_MOVE_PRIVATE
- Microsoft: COMADMIN error codes
- Microsoft: COM+ 1.5 private components and component moves
- Microsoft: COM+ Components collection
- Microsoft: MoveComponents
- Microsoft: CopyComponents
Looking for a different code? Search another status or error code.