0X80010114

0X80010114 RPC_E_INVALID_OBJECT fix on Windows Server

Server & Cloud Intermediate 👁 11 views 📅 May 26, 2026

COM object reference broke mid-call, usually from stale proxy or rebooting the wrong service. Fix: restart the DCOM service or kill orphaned RPC channels.

Quick answer

Run net stop rpcss && net start rpcss from an admin prompt. If that doesn't stick, restart DcomLaunch via net stop dcomlaunch && net start dcomlaunch.

What's actually happening

Error 0X80010114 means a COM object that your code or app expects to still be alive has been destroyed or disconnected. The RPC runtime returns 'the requested object does not exist' because the object's reference count hit zero prematurely, or the server process hosting it crashed. On Windows Server, this often surfaces in Outlook connecting to Exchange, in custom COM+ applications, or in PowerShell scripts using New-Object -ComObject after a service restart. The root cause is almost always a stale RPC channel — the client holds a pointer to a proxy that's pointing to a dead server context.

Fix steps

  1. Restart the RPC service
    Open an elevated command prompt. Type net stop rpcss && net start rpcss. This kills all active RPC endpoints and recreates them. Expect a brief hiccup — any running service that depends on RPC will need to reconnect.
  2. Restart DcomLaunch
    If step 1 didn't clear it, stop and start DcomLaunch: net stop dcomlaunch && net start dcomlaunch. DcomLaunch is the service that actually spawns COM server processes. Resetting it forces all COM objects to be recreated from scratch.
  3. Kill orphaned COM surrogate processes
    Open Task Manager, go to Details tab. Look for dllhost.exe processes that are hanging (CPU at 0, memory flatlined). Right-click and End Task. Then try your operation again — the next COM call will spin up a fresh surrogate.
  4. Reboot the server
    If you're in a production window where a reboot is acceptable, do it. The reason this works is that all COM class factories get re-registered during boot. Sometimes a DLL registration got corrupted in memory, and only a full restart flushes it.

When this hits Outlook specifically

Outlook talking to Exchange over RPC-over-HTTP (or MAPI over HTTP) can throw 0X80010114 if the Exchange RPC Client Access service restarted while Outlook held an open connection. The fix here isn't on the server — close Outlook, delete the OST file (or let it rebuild), then reopen. The underlying problem is Outlook's RPC channel to the Exchange Information Store went stale, and the local COM proxy didn't invalidate.

Alternative fixes if the main ones fail

  • Re-register the COM component — For a specific app, find the DLL or EXE that hosts the object. Run regsvr32 <path-to-dll> as admin. This re-creates the registry entries for the class factory. Works when the object's CLSID is missing or corrupt in the registry.
  • Check for hung COM+ applications — Open Component Services (dcomcnfg), expand Component Services > Computers > My Computer > COM+ Applications. Look for any app showing a status of 'Hung' or 'Not Responding'. Right-click and shut it down. COM+ will auto-restart it on the next activation.
  • Disable COM call cancellation — Rare, but if the error occurs in a .NET app using COM interop, set AppDomain.CurrentDomain.SetThreadPrincipal to null and ensure CoInitializeSecurity wasn't called with restrictive flags. This is deep wizardry — only necessary if you control the client code.

Prevention tip

Never restart RPC or DcomLaunch while applications are actively using COM objects. Sequence your maintenance: drain the app (stop IIS app pool, close Outlook, stop the custom service), then restart RPC, then start the app back up. If you're repeatedly hitting this, check the System event log for Event ID 7031 — it tells you which service crashed and forced a COM object teardown. That crash is the real root cause; fix that service's stability and 0X80010114 disappears.

Was this solution helpful?