This note documents a real case where Internet Download Manager showed:
Cannot transfer the download to IDM
Error 0x80070005
The failure looked like a generic IDM or Chrome integration problem, but the actual root cause was a corrupted per-user COM override in the current Windows profile.
- Clicking IDM integration in Chrome failed with
0x80070005. - Sometimes IDM did not trigger at all.
- IDM itself still worked for direct/manual downloads.
- The failure reproduced across multiple sites, not just one video host.
We ruled out the common false leads first:
- Reset IDM profile/state.
- Repaired and reinstalled IDM.
- Verified Chrome extension state.
- Checked the native messaging bridge.
- Checked IDM's localhost bridge behavior.
- Confirmed the issue was not limited to a single website.
Those steps changed the surface behavior, but they did not remove the actual failure.
The useful evidence came from Procmon during the exact IDM click path.
Here is how Procmon was actually used:
- Start Procmon capture immediately before reproducing the IDM failure.
- Trigger the failing Chrome-to-IDM action once.
- Stop the capture right away so the trace stays narrow.
- Filter the results around the exact click time.
- Focus on these processes first:
IDMan.exeExplorer.EXEchrome.exe
- Search the trace for:
ACCESS DENIEDRegOpenKey- COM-related registry paths under
HKCU\Software\Classes,HKCR\CLSID, andHKCR\Interface
- Compare what happens before IDM creates any normal download/session artifacts.
What this showed in our case:
- We did not see a normal IDM transfer session get created first.
- We did see
IDMan.exetouch IDM's COM interface registration. - Right after that,
Explorer.EXEfollowed the COM lookup path. - The key failing event was an
ACCESS DENIEDon:
HKCU\Software\Classes\CLSID\{00020424-0000-0000-C000-000000000046}\InprocServer32
That told us the failing layer was the COM handoff path, not the actual downloader engine.
From there, the next step was simple: inspect that CLSID in the registry, compare the per-user HKCU\Software\Classes entry against the normal machine registration, and remove the broken HKCU override so Windows falls back to the standard COM marshaler registration.
There was a malformed per-user override at:
HKCU\Software\Classes\CLSID\{00020424-0000-0000-C000-000000000046}
What made it suspicious:
- It shadowed the normal machine-wide COM registration.
- The top-level key was basically empty.
- Its
InprocServer32child existed but had poisoned permissions. - Normal PowerShell and
regreads/deletes hit access issues.
That corrupted HKCU override was intercepting the COM lookup and causing the IDM transfer path to fail with 0x80070005.
The fix was not an IDM reinstall. The actual repair was:
- Back up the bad HKCU override.
- Back up the IDM COM interface registration for reference.
- Reset ACLs on the bad HKCU key with
regini. - Delete the per-user override entirely.
- Restart Chrome so the browser/IDM handoff uses the normal system COM registration again.
Once that broken override was removed, the IDM transfer dialog started working again immediately after Chrome restart.
psoa-hkcu-override-backup-20260505-124706.regidm-com-interface-backup-20260505-124706.reg
The companion PowerShell script in this gist automates the same repair:
- Detects the bad HKCU override.
- Exports a timestamped backup.
- Resets ACLs with
regini. - Deletes the broken per-user COM override.
- Verifies removal.
Run it from an elevated PowerShell session:
powershell -ExecutionPolicy Bypass -File .\fix-idm-0x80070005-com-override.ps1Then:
- Close all Chrome windows.
- Reopen Chrome.
- Retry the IDM action.
Deleting the corrupted HKCU override forces Windows to fall back to the normal machine-level COM registration for PSOAInterface instead of the broken per-user shadow key.
That removes the ACCESS DENIED condition in the IDM browser handoff path and restores normal Chrome-to-IDM transfer.