$_ cmd

← decode · jargon mode

ERROR HRESULT

0x80004005

E_FAIL — generic 'something went wrong'

in plain english

The most useless of useful error codes. E_FAIL is 'unspecified error' — it tells you a COM/Win32 call failed but not why. The cause is somewhere in the calling component's logs (Outlook OST, network share, COM activation, COM automation, Hyper-V, MSI). Treat this code as a starting point, not an answer.

most likely causes

  • Outlook: OST/PST corruption or a SharePoint/share with broken auth
  • Network share: SMB signing mismatch, NTLM blocked, or Kerberos delegation failure
  • COM/DCOM: activation permission denied, server unreachable, or port blocked
  • Hyper-V: VM config mismatch, integration services missing, or storage driver fault
  • MSI installs: a custom action returned the wrong code or a prerequisite isn't installed

fix path

  1. Find the component that raised it: Event Viewer → Application + System logs filtered to the time of the error
  2. For Outlook: scanpst.exe on the OST/PST, or recreate the profile
  3. For COM: Component Services (dcomcnfg) → check launch/access permissions on the failing CLSID
  4. For network shares: \\server\share over UNC vs DNS name, capture an SMB trace if reproducible
  5. Always pair this code with the calling component's own log — Outlook ETL, Hyper-V Worker log, MSI verbose log, etc.

seen in

Outlook send/receive · Network share access · COM/DCOM activation · Hyper-V VM start · MSI installer custom actions

microsoft learn docs →

related

verified