The Windows Update Standalone Installer (wusa.exe) uses a combination of standard Windows error codes and custom return values specific to the update installation process. While many errors fall under standard Windows System Error Codes, some scenarios generate unique numeric codes like 2359302 or 2359303.
These represent the most common outcomes:
0x00000000 (0) - Success
0x80070005 (2147942405) - Access Denied
0x80070002 (2147942402) - File Not Found
0x80070003 (2147942403) - Path Not Found
0x80070643 (2147944003) - Fatal Error During Installation
0x80070490 (2147943568) - Update Not Applicable
0x80073712 (2147956498) - Component Store Corruption
For troubleshooting complex scenarios, these extended codes provide more granular information:
2359302 - Pending Reboot Required
2359303 - Incompatible Update Architecture
0x80240017 (-2145124329) - WU_E_NOT_APPLICABLE
0x8024001E (-2145124322) - WU_E_INSTALL_NOT_COMPLETED
Here's a PowerShell example for processing return codes:
try {
$process = Start-Process "wusa.exe" "KB123456.msu /quiet /norestart" -Wait -PassThru
switch ($process.ExitCode) {
0 { Write-Host "Successfully installed" }
2147942405 { Write-Warning "Administrator privileges required" }
2359302 { Write-Warning "System reboot pending - cannot install" }
default { Write-Error "Unknown error: $_" }
}
}
catch {
Write-Error "Execution failed: $_"
}
- For 0x80070005: Run as Administrator or check filesystem permissions
- For 2359302: Perform system reboot before retrying
- For 0x80070490: Verify update compatibility with your Windows version
Examine these logs for detailed failure information:
%WINDIR%\WindowsUpdate.log
%WINDIR%\Logs\CBS\CBS.log
Event Viewer -> Windows Logs -> Application
The Windows Update Standalone Installer (wusa.exe) uses both standard Windows System Error Codes and some proprietary return codes. While most errors fall under standard Microsoft error codes (like 0x80070005 for access denied), certain update-specific scenarios generate unique numeric codes.
Here are the most frequently encountered codes:
- 0: Success
- 87: ERROR_INVALID_PARAMETER (0x57)
- 2359302: The update is not applicable to this computer
- 2359303: The update was previously installed
- 1603: FATAL_ERROR during installation
- 3010: ERROR_SUCCESS_REBOOT_REQUIRED
Here's a PowerShell example for proper error handling:
$updateProcess = Start-Process "wusa.exe" -ArgumentList "KB123456.msu /quiet /norestart" -Wait -PassThru
switch ($updateProcess.ExitCode) {
0 { Write-Host "Installation successful" }
2359302 { Write-Warning "Update not applicable to this system" }
2359303 { Write-Warning "Update already installed" }
3010 { Write-Warning "Reboot required" -ForegroundColor Yellow }
default { Write-Error "Installation failed with code $_" -ErrorAction Stop }
}
When facing obscure return codes:
- Check Windows Update log at C:\Windows\WindowsUpdate.log
- Use the Component-Based Servicing log: Get-WinEvent -LogName "Microsoft-Windows-Servicing/Operational"
- For MSU packages, extract contents with:
expand -F:* UpdatePackage.msu C:\ExtractedUpdate
Code | Hex | Description |
---|---|---|
0 | 0x0 | Success |
87 | 0x57 | Invalid parameter |
1603 | 0x643 | Fatal installation error |
2359302 | 0x240906 | Update not applicable |
2359303 | 0x240907 | Update already installed |
3010 | 0xBC2 | Reboot required |
For undocumented codes, always check the Windows Update Agent version compatibility and system event logs for additional context.