I had to get a fresh OS install last month. I finally bothered to upgrade IE6 to IE7. I thought it would be a 5 minute process.
Instead, my machine was locked up for over 45 minutes. It started out simple enough, and the actual work portion of the installation only took a few seconds. Then I had to reboot (why?). When the machine came back up it was stuck “applying personal settings†for about 30 minutes. After it reached the login screen, I entered my credentials, and then again it resumed “applying personal settings†for another 10 minutes before I could use the machine again.
I don’t understand how Firefox, Opera, and Chrome can all create installers that take less than 1 minute, and Microsoft can’t. It’s just broken.
Note: The IE8 beta requires 2 reboots.
“I don’t understand how Firefox, Opera, and Chrome can all create installers that take less than 1 minute, and Microsoft can’t. It’s just broken.”
Um, the reason why firefox, et al can do that and IE can’t is because many components in the operating system are using, and have loaded, many of the IE components. URLMON is used by the shell/explorer and other places. Wininet (the HTTP client engine) is probably loaded into a slew of apps that can standard win32 or .net APIs to perform web requests. The rendering engine is hosted by many apps to host HTML.
Asking programs to temporarily unload DLLs, or unix apps to close their .so dynamicly linked libs is not trivial. Most of the time those processes need to be restarted. In windows, where those processes are depended on by the OS and user interface, thats quite difficult.
So, instead, there are a number of unfortunately circumstances that cause installers to require a reboot. Sometimes, the difference between a reboot and an no-reboot install is what processes you as a user have open.
What OS are you using? Are you using Vista or XP?
I’m surprised to hear anyone defend IE’s installer as though it can’t be fixed. When I was working at Microsoft (and I’m still a Microsoft fan to this day), I was appalled at the obesity of the MSI and the low priority of decent installation experiences. I wouldn’t have defended a 45 minute installation of anything then, and I don’t defend it now.
Anyway, arguments about the challenges of in-use libraries are so 1990’s. The solutions to this problem are known. Sure, it can be hard. But Microsoft is the biggest software company on the planet and the only company that controls both the operating system and the browser. If you think that the OS needs to support live replacement of DLLs, why doesn’t Microsoft build that feature into the OS? It’s very doable. And unlike search, it’s a problem that Microsoft is in the unique position to solve.
On the technical side, let’s break it down further:
1) DLL Replacement.
Several techniques exist to solve this problem. DLL versioning is one. Side-by-side DLLs with on-reboot replacements is another. Feature decoupling is a third. This problem was solved long ago. As I mentioned before, it would be great if Vista would solve this at the OS level so application writers don’t have to.
2) Time to install
What did the computer do for 45 minutes? Even if it can’t replace a DLL that is in use, why did it take 45 minutes?
3) Double Reboot
IE8’s installer takes two reboots! Explain that one 🙂 Maybe it’s just a beta; I’ll cut it some slack.
4) Other apps have the same problem.
Microsoft is not the only one to face this problem. Every other application deals with it too. It’s just that Microsoft doesn’t have to worry about distribution as much. If you’re scared to death that people won’t install your software, you take the time to make the installer awesome. If you know that you’ll just auto update them by leveraging the operating system that you own, then you don’t spend much time on fixing this.
I’m on XP.
But the most frustrating part of this is that Microsoft doesn’t seem to care about my time. Microsoft could have spent 10 man weeks (100? use whatever number you want) of engineering time to fix this problem. Or, they could have 20 million users each lose 45 minutes of their time (15Million man hours). That is more than 20 *lifetimes* of wasted time.
I stand by my conclusion: It’s just broken.
Pingback:Mike’s Lookout » Blog Archive » Operating System Install: FreeBSD