| Previous | Next |
| ERROR_SUCCESS_REBOOT_REQUIRED | ERROR_PRINTER_NOT_FOUND |
ERROR_SUCCESS_RESTART_REQUIRED
The operation succeeded and requires a service restart.
ERROR_SUCCESS_RESTART_REQUIRED is Win32 result 3011 (0xBC3). The requested change was accepted, but one or more services still run with old code or configuration. This is qualified success, not a reason to repeat the modifying operation.
Why runtime state remains old
- a service caches configuration that is read only during startup
- updated binaries or modules are loaded by a long-running service process
- a print, networking, management, or product service must rebuild internal state
- restart was intentionally deferred to avoid interrupting active clients
- an installer or configuration API completed its transaction but cannot control service availability policy
Service-change evidence
Record the originating API/package, affected component and version, candidate service names, current process IDs and start times, restart policy, dependencies, active workload, return 3011, and the validation expected after restart. Do not guess the service solely from the numeric code; preserve the producing component’s log.
Diagnostic sequence
Consult the operation’s own documentation or log to identify the affected service. Compare on-disk configuration/binaries with the running process generation. Check dependencies and whether a rolling or clustered restart is required.
Verify that the change itself committed before restarting anything. If multiple products return 3011, aggregate their explicit restart requirements rather than repeatedly bouncing unrelated services.
Recovery and safe restart
Drain or pause work, restart the documented service in dependency-aware order, and verify health, version, configuration, and client reconnection. Escalate to a system reboot only when the product requires it or the service cannot unload cleanly.
Automation should model “success, service restart pending,” retain the exact owner, and resume verification after the restart. Avoid broad commands that restart every service matching a vague display name.
Difference from ERROR_SUCCESS_REBOOT_REQUIRED
Result 3010 requires an operating-system reboot. Result 3011 normally needs only the affected service process restarted, which is less disruptive but still requires workload coordination.
Example
A configuration tool updates a server service’s module and returns 3011. The orchestrator drains requests, restarts that service, and checks its loaded version. Re-running the configuration would not update the already running process.
References
- Microsoft: System Error Codes (1700–3999)
- Microsoft: Win32 Error Codes in MS-ERREF
- Microsoft: Windows Installer error codes
- Microsoft: sc.exe query
- Microsoft: Service Control Manager
Looking for a different code? Search another status or error code.
