How can I stop windows from rebooting after an automatic update?

The comment by Johannes Rössel to the answer InSciTek Jeff is quite a valid point. The use of group policy settings he mentioned was actually blogged about by Jeff Atwood a long time ago. The synopsis goes like this:

Press Windows+r and run gpedit.msc, you should get a window like this:

gpedit.msc

Now, Windows 7 has changed the order and added a couple of newer options I've italicized:

  1. Do not display 'Install Updates and Shut Down' in Shut Down Windows dialog box
  2. Do not adjust default option to 'Install Updates and Shut Down' in Shut Down Windows dialog box
  3. Enabling Windows Power Management to automatically wake up the system to install scheduled updates
  4. Configure Automatic Updates
  5. Specify intranet Microsoft update service location
  6. Automatic Updates detection frequency
  7. Allow non-administrators to receive update notifications
  8. Turn on Software Notifications
  9. Allow Automatic Updates immediate installation
  10. Turn on recommended updates via Automatic Updates
  11. No auto-restart with logged-on users for scheduled Automatic Updates
  12. Re-prompt for restart with scheduled installations.
  13. Delay Restart for scheduled installations
  14. Reschedule Automatic Updates scheduled installations
  15. Enable Client Side targeting
  16. Allow signed updates from an intranet Microsoft update service

Personally I chose to enable 9, 11, 12, and 13. 9 enables only those updates that do not have to restart Windows nor stop a service. Enabling 11 actually disables the auto-restart, if and only if there is at least one logged user. 12 and 13 were enabled and set to their max values with the scroll wheel. 16 sounds good but won't affect users lacking their own update server. I took this from my own question.

Addendum

It's been pointed out that Home editions of Windows don't come with gpedit.msc, and you must therefore set things directly in the registry. There's probably more settings you could add besides NoAutoRebootWithLoggedOnUsers ... In fact I'm going to check that now. Okay in HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU add:

  • AutoInstallMinorUpdates = 1
  • NoRebootWithLoggedOnUsers = 1
  • RebootRelaunchTimeout = 1440 (decimal)
  • RebootRelaunchTimeoutEnabled = 1 [I'm actually curious if that's what I wanted]
  • RebootWarningTimeout = 30 (decimal)
  • RebootWarningTimeoutEnabled = 1 [I think the above four don't happen due to #2]

  1. Right click on the "Computer" icon on the desktop and select "Properties..."
  2. Click on "Windows Update" and then select "Change Settings"
  3. Now select "Download updates but let me choose whether to install them"
  4. Finally, click "Apply" button.

In this mode of operation, Windows checks for new updates and downloads them, but won't apply them and reboot until you tell it. In the interim, it will remind you that you have new updated available via the system tray icon.