What does HRESULT 0x00240007 (WU_S_ALREADY_UNINSTALLED) mean?

 
Previous Next
WU_S_ALREADY_INSTALLED WU_S_ALREADY_DOWNLOADED

WU_S_ALREADY_UNINSTALLED

WU_S_ALREADY_UNINSTALLED is a success status for an uninstall request. It means that the update requested for removal is not installed, so there is nothing for Windows Update Agent to remove.

What to check for WU_S_ALREADY_UNINSTALLED

  • Confirm the update identity and whether it was installed under a different servicing mechanism.
  • Check update history and the current package state before retrying the removal.
  • Treat this result as an idempotent outcome, not as proof that an uninstall failed.

Microsoft: WUA success and error codes

Diagnostic interpretation of WU_S_ALREADY_UNINSTALLED

WU_S_ALREADY_UNINSTALLED has the HRESULT value 0x00240007. AllStat records the condition as “The update to be removed is not installed on the system.”. For WU_S_ALREADY_UNINSTALLED, in practice, interpret that wording at the boundary owned by Windows Update client, servicing, or update-handler state, rather than treating the value as a generic Windows message.

Evidence to capture for WU_S_ALREADY_UNINSTALLED

  • Record the exact COM method or Windows API, its input object, the calling thread, and the full 0x00240007 value before a wrapper converts it to an exception or Boolean result.
  • Capture any IErrorInfo text, activity identifier, event-log entry, and subsystem trace that mentions WU_S_ALREADY_UNINSTALLED or the wu / already / uninstalled operation.
  • Reproduce WU_S_ALREADY_UNINSTALLED with the smallest valid input and note whether the result changes with identity, architecture, service state, or target object.

Retry and recovery for WU_S_ALREADY_UNINSTALLED

Retry WU_S_ALREADY_UNINSTALLED only when the owning API documents a transient state or after the condition described as “The update to be removed is not installed on the system.” has changed. For WU_S_ALREADY_UNINSTALLED, configuration, policy, format, and authorization failures normally require correction first; an immediate loop can hide the original call site and add secondary errors.


Looking for a different code? Search another status or error code.