| Previous | Next |
| ERROR_PRINTER_HAS_JOBS_QUEUED | ERROR_SUCCESS_RESTART_REQUIRED |
ERROR_SUCCESS_REBOOT_REQUIRED
The operation succeeded and requires a reboot.
ERROR_SUCCESS_REBOOT_REQUIRED is Win32 result 3010 (0xBC2). It is a successful outcome with deferred completion: the requested installation, driver, servicing, or configuration action committed, but the changed state will not be fully effective until Windows restarts. Treating every nonzero code as failure commonly causes duplicate deployments.
Why a successful operation still needs reboot
- an in-use executable, DLL, driver, registry hive, or protected component must be replaced during boot
- driver or device configuration cannot become active safely in the current kernel session
- Windows Installer or another servicing engine records pending operations for startup
- a chained package propagates a child operation’s reboot requirement
- policy suppresses automatic reboot and leaves scheduling to the caller
Deployment evidence
Record the tool/API, package or driver identity and version, exact command and restart policy, return 3010, pending-reboot indicators owned by that tool, maintenance window, initiating user/service, and post-action validation that can run before reboot. Persist this state before the process exits.
Correct handling
Mark the action successful but the overall change pending reboot. Do not repeat the installation merely because the desired runtime version is not yet loaded. Coordinate with other packages so one planned reboot can satisfy compatible pending changes.
After startup, verify product registration, file/driver versions, services, device state, and rollback markers. Clear the deployment’s pending state only after that validation, not just because the machine booted.
Recovery and operational policy
Schedule a reboot in an approved window and notify users or cluster orchestration. If immediate restart is unsafe, preserve the successful result and block dependent operations that require the new state.
Installers should document restart behavior, support suppression when appropriate, and make resume verification idempotent. Management systems need a dedicated “success, reboot pending” state rather than success/failure only.
Difference from reboot initiated
ERROR_SUCCESS_REBOOT_INITIATED means the successful operation has already started a reboot. Result 3010 leaves the reboot to the caller, administrator, or orchestration layer.
Example
PnPUtil installs a driver package and exits with 3010. The management agent records success and schedules one maintenance reboot. Retrying the package before reboot would add noise without activating the new driver sooner.
References
- Microsoft: System Error Codes (1700–3999)
- Microsoft: Win32 Error Codes in MS-ERREF
- Microsoft: Windows Installer error codes
- Microsoft: Windows Installer system reboots
- Microsoft: PnPUtil return values
Looking for a different code? Search another status or error code.