Fog Creek Software
Discussion Board

Could this installer be any worse?

I'm currently installing VS.Net 2003 from the MSDN DVD, and I happen to be installing on a laptop with a rather loud DVD drive. This fact has made me aware that this must be the worst installation in the history of mankind. Okay, that's a bit of hyperbole, but it's not that far off the mark.

The fact that it's a nasty installer is evident by the fact that it often takes several hours to complete -- this on systems where a bulk read of an entire DVD would take less than 5 minutes (and the entire install is a small subset of that anyways), and the writing of the same to the harddrive would take even less.

There are two apparent faults with this installer (one of which carries over to the uinstaller as well):

-Is it _really_ necessary to write every blood file name on the screen, even when the file is trivially tiny? Could you perhaps just subset down to sections:  "Installing sample code". Uninstall takes a notoriously long time as well, I suspect largely because some self important moron decided that it looked really cool to synchronously draw every one of the tens or hundreds of thousands of filenames on the screen.

-Is it really necessary to deal with every single file individually from the CD/DVD? Because of this lame ass, unbelievably amateur coding, I can hear my DVD continually reseeking for every one of these thousands of files. Would it not have been possible to read a large block into the massively copious amounts of memory sitting around in memory, and then pull the files out of there? This is absolutely absurd.

This is a multi-hour install that shouldn't take more than 12-15 minutes, tops. How embarrassing this should be for the team involved, but I suspect that they probably think it's really great.

Friday, March 12, 2004

I must be the only person who can't even remember installing VS.NET. I hear you that it takes a long time, but 1 year later I can't even remember how long it took.

Matthew Lock
Saturday, March 13, 2004

I've done it recently enough that I recall it taking a good hour at least.  But that was from CDs, and that was installing absolutely everything, including stuff I'd realistically never touch (e.g. J#).

Makes me think of Access VBA routines I've written where doing (for instance) a counter Debug.Print on every line of a 5000-item loop, it goes absurdly slow, whereas doing that only every 500th line or so makes the routine way faster.  Perhaps the install really is that slow because of all those filenames on the screen.

But after all, you'd think it would be multithreaded...

Saturday, March 13, 2004

(Excuse my ignorance of threading concepts...)

But, even if it were multithreaded wouldn't the "DrawStupidFileNamesOnTheScreen" thread still have to interrupt the "ImportantInstallTheProgram" thread?

And my understanding of threads is that it would probably be slower if it were threaded because when it switches threads there is the context switching penalty. They would be much better off doing what the previous poster suggested to just list categories "Installing Samples...", "Installing Help..." etc.

Chris Ormerod
Saturday, March 13, 2004

You need a new video card if the redraw of file names is what's causing it to slow down.

I'd say just drawing the filenames to the screen one after another would probably take closer to a second than an hour.

The reason it's slow is really because there are lots of little files. Copying 10000 files of 1K each takes way, way, way longer than copying 1 file of 10000K, due to the way filesystems and drives work.

Secondly, it does a hell of a lot of registering of crap at the end. Lots of registry updating and stuff, which always is going to slow you down.

I believe Microsoft are trying to improve this. For example, it's rumoured the next version of Windows will come with a runable image on the CD, which will be copied straight across, and then configure itself on first boot. This saves them having to build up the complete registry from scratch, I assume.

Perhaps they're working on something similar for the Visual Studio install (perhaps unpacking and registering files on first use, I don't know), because they have said they're working on reducing the install time. However, it's a big, complex, seemingly somewhat monolythic peice of software, so how much improvement they can make remains to be seen.

Sum Dum Gai
Saturday, March 13, 2004

And I always just thought it was doing some special copy protection to ensure you weren't using an illegal copy...maybe not...

JOS reader
Monday, March 15, 2004

*  Recent Topics

*  Fog Creek Home