It’s happened to everybody at some point—you go to install a new application, and Windows tells you to reboot first. Or reboot after. Or it asks you to close out of every other application first. Why does it do that?
In today’s geek lesson we’ll explain exactly why Windows can be so irritating with all this rebooting, and hopefully give you a better perspective into why things work this way.
So Why Are Installers Annoying?
The short answer is that most installers are annoying because they either aren’t written very well, or they integrate too deep into Windows to be able to copy system files and start everything necessary without a reboot.
The problem is compounded because Windows applications often use DLL (dynamic link library) files that are shared between more than one application. It’s a nice idea, but when it comes to installing and uninstalling applications it can be irritating to need to reboot. The really sad thing is that many applications these days are completely self-contained and aren’t replacing built-in Windows DLLs, but their installers still make you reboot.
Here’s a couple of instances where installers might be annoying:
- If the application you’re installing needs to copy new versions of files that are currently in use by another application, it will either prompt you to close all other applications, or it will make you reboot.
- If there’s a previous installation or Windows Update that has pending changes requiring a reboot, some installations will fail and ask you to reboot first.
- If the application you are installing has a plugin for another application, like an Explorer context menu addition, or a browser plugin, it will prompt you to reboot or close the other applications.
- Sometimes badly written installers will ask you to reboot because they don’t start up the required services on their own.
Let’s take a closer look at some of these instances, so you can fully understand what’s going on.
In-Use Files Need to be Copied on Reboot
If the application installer needs to copy some files but they are currently being used, or are system files in the case of Windows Update, it will utilize a Pending feature in Windows that allows an installer to specify that a file operation happens after a reboot, and before everything in Windows has started up.
The installer will write a key to the following location in the registry:
If you’ve received an error saying that you need to reboot first, you can open up this key and you’ll see all of the files that need to be replaced on the next reboot.
You probably do not want to mess with the contents of this key, or else things will quickly start to become weird. There are some very rare instances where this key doesn’t get emptied even after multiple reboots, and you might have to wipe the contents of the key—but you should probably avoid doing that unless you are very certain.
Installation Already In Progress
Some installers won’t start up if there’s a current installation in progress, so they will check the following key to see if there’s an installation already happening:
I don’t have a screenshot for this one, but you can get the idea from the name of the key.
Windows Update Makes You Reboot
If you’re getting a message saying that you can’t install an application until you restart your computer, it’s because of Windows Update requiring a forced reboot. So, for example, if you’re getting this error message:
It’s because you probably clicked Postpone when you saw this dialog pop up:
If you head into the registry, you’ll see that there’s a RebootRequired key at this location in the registry:
There’s a whole bunch of GUID values over on the right-hand side, and while they don’t pertain to anything in the registry, the fact that they are there is what is triggering that message.
Technically you could probably export the contents of the key, install the application, and then put them back—but it could break something, and rebooting isn’t that painful is it?
So now you’ve learned a little more about why application installers work the way they do. Is there anything else you’d like to know? Explain your frustrations in the comments, and we’ll see if we can’t shed some light on them.
Programmer by day, geek by night, The Geek, also known as Lowell Heddings, spends all his free time bringing you fresh geekery on a daily basis. You can follow him on Google+ if you'd like.
- Published 10/6/10