"Exit all programs before installing" -- why?

Almost all computer programs you install in Windows say “It is highly recommended that you exit all other applications before installing.” (or something close to it). Why? Does having other applications open mess up the registry-writing from the installation program?

Adam

Probably just to cover themselves in case the installation causes a crash. They do not want you blaming them for lost data from open applications. I often run installations with at least my email client running, often much more.

Lazy programmers. Really.

Writing install scripts is about the worst drudgery in the programming world. It’s boring, yet has to be extremely detailed. Absolutely no creativity is involved, and most programmers would pull their hair out before writing an install script.

So, they take shortcuts. The “exit all programs” thing is bad enough - what’s worse IMO are the ones that force you to reboot. The only reason you need to reboot on installation is if you’re installing something at the file system level - something few programs do. Anti-virus programs are probably the only ones a casual user will ever encounter that need to do any sort of installation at that level.

Almost anything else can be programmed around, with enough work. But few programmers want to do the work, so they tell you to close everything and reboot. Next you’ll have to install things only during certain phases of the moon and in a clean room.

If you have a .dll that might be used by other applications, you’re not going to be able to overwrite it with a newer version unless you close those applications or set the file to be replaced after reboot.

In any kind of large company, the installer text is going to come from someone outside the development group, so it’s not always fair to blame the programmers.

Not in the large companies I’ve worked at. We were always responsible for the install scripts for our software. The one place I’m thinking of had a company policy that an installs could not force a reboot or ask users to shut everything down. Our application was Enterprise-level software - Windows services and such - and it was a royal pain for the guy who was assigned the install script to figure out just how to install all this stuff without a reboot. The only thing he couldn’t get around was the file system level stuff (we mucked with Windows file systems and even the kernel if I recall correctly).

Overwriting .dll’s is a problem, but we informed the user just what was causing the problem and allowed them to make informed decisions about when to overwrite it, typically with a dialog that popped up and said “such-and-such.dll is being used by such-and-such software. Would you like to shut down that software, or would you like to reboot after install?”

This is why I get goofy when I’m trying to install some simple piece of software - a game, or a utility, or some basic application - and they want me to reboot or turn everything else off. I think some places don’t even take the time to check, they just force it. That’s why I call 'em lazy programmers.