Tuesday, April 6, 2010

Restart to finish installing updates

I got one of those "Click here to install important updates" in Windows today, and since it said I could continue using Windows while it installed the patches, I went ahead and clicked on it. I've mentioned before that I'm confused about how Windows installs updates, because sometimes it can install updates with me using the system - and sometimes it lies to you and isn't able to install updates because you are still using Windows.

Now I'm confused again. If Windows Update said I can keep using Windows while it installs updates for me, then why does it tell me I need to "Restart now to finish installing updates"?

This doesn't make any sense. I have complained in other posts that there should be a "flag" in the updates to say you can only install such-and-such updates when you shutdown. Now I think there needs to be a "flag" that says you will need to reboot to install an update.

Linux has a neat feature in the update program that flags which patches will require you to reboot afterward (like, for a kernel update) and which will require you to logout before the change will take effect (some GNOME updates, for example.) This is very basic functionality, and has helped me decide maybe to delay installing an update until I'm ready to shut down.

But on Windows, I guess I'm supposed to reboot. Maybe it's been long enough that I should take this as a given with Windows.

Is that really a *command line* workaround to a Windows annoyance? I'm going to bookmark this for the next time someone tries to claim that Linux requires command line workarounds (it hasn't for years now, BTW.)

JH: This is very basic functionality, and has helped me decide maybe to delay installing an update until I'm ready to shut down. ... Maybe it's been long enough that I should take this as a given with Windows.

That's more or less what I do. Not everything does require a restart, but more things do than don't.

mynameisorange: Is that really a *command line* workaround to a Windows annoyance? I'm going to bookmark this for the next time someone tries to claim that Linux requires command line workarounds

Don't get too terribly excited. You can do that just fine from the GUI too. (Control Panel -> Administrative Tools -> Services, right click "Windows Update", and "Stop. Presumably the command line does that.)

Evaned: "That's more or less what I do. Not everything does require a restart, but more things do than don't."

But I still wonder why there isn't a "flag" in the updates to say you can only install such-and-such updates when you shutdown. Or a "flag" that says you will need to reboot to finish installing an update.

Because it is hard, at least given Windows's (admittedly kinda dumb) propensity to lock files in use.

Why does you sometimes need to restart after an update anyway? On Linux, it's so that Gnome and whatever can reopen the files that it needs and get the fresh version. On Windows, it's a bit different: it has to do the update installation on shutdown or boot because it can't replace the files that are currently in use.

What does this mean? It means that whether a patch actually needs to have work done on shutdown or boot depends not only on the patch itself, but what files are being held open and locked by whatever is running on your computer.

Sometimes this is predictable, but presumably it often will not be, and Windows Update will not be able to discover that fact until it tries to replace some file and discovers that it is, in fact, already locked.

At least when I go to install updates, I see a note "you may need to restart your computer after applying these updates" or something like that some of the time, but not all of the time. So it seems like there already is somewhat the flag that you want, but it isn't a perfect indicator either: it's said it might need a reboot and not actually needed one in the past, I think.

Anyway, all this isn't meant to be a justification for Windows's behavior, merely an educated guess at an explanation. I've already said that I dislike the locking behavior. Further, it sounds like some particular messages (that I probably tune out) are misleading you; presumably that could be improved as well.

If you actually bother to read through the list, you will see that there are marks to indicate that a reboot will be required. If you blindly click as MS instruct you, you will never see that information. I suspect most MS users click blindly, assuming that MS has their best interests in mind. Rebooting is also considered by users as normal on that inferior system. So while you may see it as a problem, there's a good chance that other users would see too much information as a problem - they just want to get the install and reboot over as soon as possible (and remember, they have been trained by experience to expect that reboot).

Mad, I did read through the list of what patches were to be installed. There was nothing in the list that said I'd need to reboot when done. At least Linux (I use Fedora 12) puts a little icon in the list next to an update if it requires you to logout, or (rarely) to reboot for the change to take effect.

@JH: I guess MS are simply sloppy then. On my (ugh) XP system MS is trying to con me into installing IE8. In the text description I see "After you install this item, you may have to restart your computer." So MS claim that I *may* have to restart after replacing a component which they claim is inextricable from the operating system. Oh suuure... I've seen such warnings on a lot of "patches" (also the more honest "you *will* need to restart"), but if you say you didn't see any such messages then MS are sloppy and just don't care because "everyone knows you have to restart". Since MS require you to reboot the machine for the most trivial things, it's a safe bet.

The one that makes me want to turn into the Hulk and smash puny computer is, at the end of a meeting, I go to shut down a laptop. Distracted, I miss noticing the "Install updates and shut down" has come up - a process one dare not interrupt, which can go on for anything from five minutes to a half hour, or just hang in the middle with an inaccessible dialog box somewhere.

george.w: I know just what you mean. Windows Update should not hold a system hostage when all you want to do - when what you need to do - is shut down the laptop.

In stark contrast, when I ran Linux at work, I could install updates while using the system. If the system update tool wanted to reboot afterward, it was usually because I'd received a kernel update, and you do need to reboot for the new kernel to take effect. But on Linux, you can keep using the old kernel until you're ready to shutdown/reboot. And I always had the option to shutdown or reboot later, when I was ready to.

And in Linux, when you reboot or shutdown, you actually reboot or shutdown. None of this "let me install a few updates before you really get to shut down your system." Reboot means "reboot", and shutdown means "shutdown".

I guess I got spoiled for how cleanly Linux systems apply updates. Microsoft sure could take a lesson from that.

Speaking of shutting down while updating - I've done that numerous times with my Debian systems for the past 9 years; although I may not have all my toys available on the next reboot the system always ran so that I could finish the update and get my toys back. None of this MS bullshit which requires you to haul out the cloning software.

About Me

I've been a Linux user since 1993, and since 2002 I've been fortunate enough to run Linux full-time at work. But, I've been asked to move back to Windows, at least for work. The difference between Windows and Linux has been shocking, to say the least. Since I find it interesting when long-time Windows users experiment with Linux for the first time, I thought it might be equally interesting for this long-time Linux user to blog about my first experience running Windows in over 6 or 7 years.