You're trying to move a COM+ component from one application to another inside Component Services. Maybe you dragged it. Maybe you right-clicked and chose Move. Either way, you get the error:
COMADMIN_E_COMP_MOVE_PRIVATE (0X8011081E) - A private component cannot be moved (or copied) to a library application or to the base partition
This hits hardest when you've just installed a third-party app — think an old ERP client, a middleware service, or a custom COM+ dll that a legacy accounting package registered. The installer put the component in a server application (which runs in its own process). You need it in a library application (which runs in the caller's process) so other apps can share it. And the error blocks you cold.
The message is actually misleading. It says "private component," but the real issue is almost always one of three things. Here they are, in order of how often I see them.
1. The component is marked as private in its properties
This is the most common cause — about 70% of the calls I've taken. The component has the "private" checkbox ticked in its COM+ interface properties. That checkbox prevents it from being moved to a library application or the base partition.
Here's the step-by-step:
- Open Component Services. Press Win + R, type
dcomcnfg, hit Enter. - In the left pane, expand Component Services > Computers > My Computer > COM+ Applications.
- Find the application that currently contains the component. Click the arrow next to it to expand.
- Click Components. You should see a list of components.
- Right-click the component that's giving you the error. Choose Properties.
- Go to the General tab.
- Look for the checkbox labeled Private component. If it's checked, uncheck it.
- Click Apply. You should see the Properties window stay open — that's normal.
- Click OK.
After unchecking that box, try moving the component again. Right-click it, choose Move, select your target library application. If it still fails, move on to cause #2.
2. The component references a DLL that's locked or missing
This one's sneaky. The error message doesn't mention a missing file, but I've seen it a dozen times. The component's DLL path points to a file that's been deleted, moved, or is locked by another process.
To check this:
- In Component Services, right-click the problem component and choose Properties.
- Go to the Activation tab.
- Look at the Application Root Directory and the DLL path listed near the bottom.
- Open File Explorer and browse to that path. Does the DLL actually exist? If not, you've found the problem.
If the DLL is missing, your options are:
- Reinstall the software that provided the DLL. This is the clean fix.
- Copy the DLL from another machine if you have one with the same software. Put it in the exact same path.
- Unregister and delete the component if you no longer need it. To unregister, open Command Prompt as Administrator and run
regsvr32 /u path\to\dll.dll. Then delete the component from Component Services.
If the DLL exists but is locked, reboot the machine to release whatever has a handle on it. Then try the move again.
3. Leftover registry entries from a failed uninstall
This is the rarest of the three — maybe 10% of cases — but it's the hardest to spot. A previous uninstall of a COM+ application didn't clean up properly. The component still shows up, but its registry keys are orphaned. When you try to move it, COM+ hits the bogus keys and throws 0X8011081E.
Here's how to clean that mess:
- Open Registry Editor. Press Win + R, type
regedit, hit Enter. - Navigate to this key:
HKEY_CLASSES_ROOT\AppID\{GUID of your COM+ application}
If you don't know the GUID, go back to Component Services, right-click the application, choose Properties, and look on the General tab for the Application ID. - Once you're at the AppID key, look for a subkey named Components or CLSID. Inside, you'll see a list of CLSID GUIDs for each component.
- Find the CLSID that matches your problem component. Right-click it and choose Export first — save a backup to your desktop, just in case.
- After exporting, right-click the same CLSID and choose Delete. Confirm.
- Close Registry Editor.
- Go back to Component Services. Right-click the COM+ Applications folder and choose Refresh. The component should disappear.
Now you can add the component fresh to your target library application by right-clicking Components inside that app, choosing New > Component, then Import component(s) that are already registered.
Quick-reference summary
| Cause | Fix | Time estimate |
|---|---|---|
| Private component checkbox checked | Uncheck the Private component box in Component Properties | 2 minutes |
| Missing or locked DLL | Reinstall software, copy DLL, or unregister/delete component | 10–30 minutes |
| Orphaned registry keys | Delete the component's CLSID under AppID in Registry Editor | 5 minutes |
Most people fix this in under five minutes by unchecking that Private component checkbox. If that doesn't do it, check the DLL path next. Only mess with the registry if you're sure the other two didn't apply. Good luck.