Event 10010: A COM component was too slow to start
Windows asked a background component to start, waited its fixed timeout, and gave up. The component usually starts a moment later anyway, which is why this error rarely matches any symptom you can see. The only field worth reading is the CLSID, and it is the one nobody explains.
Also written as Event ID 10010DistributedCOM 10010DCOM timeout CLSID
How oftenFires regularly
Vendor calls itError
LogSystem
SourceMicrosoft-Windows-DistributedCOM
What it means for you
On a personal computer
This looks alarming and is almost never anything. It usually means a piece of Windows or a Store app was slow off the mark while your PC was still booting or waking up, and Windows lost patience. If your machine works normally, you can ignore it. A burst of them right after an update is particularly common.
For an analyst
Worth a look only when it is repetitive and tied to a service that genuinely matters — WMI providers, backup agents, and monitoring tools that host out-of-process COM servers. Resolve the CLSID before spending any time on it; on client SKUs the answer is very often a per-user COM server from a Store package that was updated or removed.
What it looks like
Sanitised. Addresses come from the RFC 5737 documentation ranges.
Sample
Log Name: System
Source: Microsoft-Windows-DistributedCOM
Event ID: 10010
Level: Error
Computer: DESKTOP-WKS042
The server {00000000-0000-0000-0000-000000000000} did not register with DCOM within the required timeout.
The fields that decide it
Everything else in the log line is context.
CLSID
A GUID identifying the COM class Windows was trying to start. This is the only field that identifies what failed, and Event Viewer does not resolve it for you. Look it up under HKEY_CLASSES_ROOT\CLSID\{guid} — the default value is usually a readable name and the LocalServer32 subkey holds the executable.
APPID
Present in some variants. Resolves under HKEY_CLASSES_ROOT\AppID\{guid} and often gives a friendlier name than the CLSID does.
Timing
Not a field, but the decisive detail: check whether the event's timestamp falls inside the first minute or two after boot or resume. Startup-time 10010s are almost always a contention problem and not a fault.
Repetition
A one-off is noise. The same CLSID every few minutes, indefinitely, means something is retrying and failing — that is the version worth chasing.
Ordinary reasons this happens
Most of the time it is one of these.
A slow boot with many services competing for disk, where a COM server simply did not answer inside the timeout and started fine a second later.
A Microsoft Store app updated or removed while a per-user COM registration for it still exists — Xbox Game Bar and its relatives are recurring offenders.
Resuming from sleep, where components are woken in an order that leaves one waiting on another.
A printer, scanner, or camera utility whose COM server only exists when the device is connected.
Remote management tools querying a machine that is still starting up.
When it is not ordinary
An unregistered or hijacked COM object, where a CLSID's registration points at something other than the software that owns it.
What gives it awayResolve the CLSID: if LocalServer32 or InprocServer32 points at a path in a user profile, a temp directory, or a name that does not match the component, that is the finding rather than the timeout.
Lateral movement or reconnaissance over DCOM against a host that is not answering.
What gives it away10010 on the target with an unfamiliar remote-activation pattern, alongside Security 4624 Logon Type 3 from an unexpected source around the same time.
Copy the CLSID out of the event, including the braces.
Resolve it: `Get-ItemProperty "Registry::HKEY_CLASSES_ROOT\CLSID\{your-guid-here}"` and then check the LocalServer32 or InprocServer32 subkey for the executable path.
Decide whether the resolved name is something you installed. If it is a Store app or a Windows component and the machine works, stop here.
If the CLSID resolves to nothing at all, the registration is orphaned — the software was removed but its COM entry survived. Reinstalling and cleanly uninstalling the product is the tidy fix; ignoring it is the practical one.
If the path points somewhere unexpected — a user profile, a temp folder, a name that does not match the component — treat that as the actual finding and investigate the binary.
Only if the same CLSID repeats endlessly and maps to something you need, restart or reinstall that component rather than editing DCOM timeouts.
Queries to run
powershellGroups by CLSID so the one that actually repeats separates from the one-offs.
kqlFleet-wide, this separates a genuine per-host problem from a CLSID that every machine in the estate reports.
Event | where EventID == 10010 | extend CLSID = extract(@'\{([0-9A-Fa-f-]{36})\}', 1, RenderedDescription) | summarize count() by Computer, CLSID | order by count_ desc
Common questions
Should I worry about DistributedCOM Event 10010?
Almost never on a normal PC. It means a background component did not report in before Windows' timeout expired, and in most cases it started successfully immediately afterwards. If your machine boots, runs, and shuts down normally, this event is not describing a problem you have.
How do I find out which program Event 10010 is about?
The event gives you a CLSID in braces. Open Registry Editor, go to HKEY_CLASSES_ROOT\CLSID and find that GUID — the key's default value is normally a readable component name, and the LocalServer32 subkey shows the executable behind it. If the GUID is not there at all, the registration is left over from software that has been removed.
What is the difference between Event 10010 and Event 10016?
10016 is a permission problem: an account was denied Local Activation or Local Launch on a COM component, and on Windows 10 and 11 it is a known, harmless side effect of how Microsoft locked down its own components. 10010 is a timing problem: the component was allowed to start but did not report back fast enough. Different causes, and only 10010 can occasionally indicate something real.
Can I fix Event 10010 by increasing the DCOM timeout?
You can, but you almost certainly should not. The timeout is a system-wide value, raising it slows down every legitimate activation failure across the machine, and it hides the symptom rather than fixing anything. If a specific component keeps timing out, repair or reinstall that component instead.