After installing a much larger hard drive in my laptop (to preserve a .NET 1.1 pristine partiion) I just nearly two days installing the mountain of software that is a programmer's development system. Here's my top tips for making this easy (or rather, easier);
1. For each machine you own keep a record in Excel of everything you install on the system (add/remove programs isn't good enough). Include serial numbers and the location of the software if you can, i.e.
|Windows XP Pro
||OEM (pre installed): xxxxx-xxxxx-xxxxx-xxxxx-xxxxx (serial number from underside of laptop)
||Win XP Prof
||Pre-installed with HP nc6000|
I have the following worksheets; O/S drivers, SQL Server, Microsoft Office, Development Tools, MSDN Library, Packages.
2. Anything you ever download, put in a directory called 'ForCD' or 'ForDVD' and when it gets full (700Mb / 4.7Gb) burn it to disc and record what is on it in a handy text file (something easy to load with a bare O/S, and you it is searchable on a Pocket PC).
When you come to install you just open the spreasheet and get motoring. If you're really good you will have entered them in the order they need to be installed too; O/S first (inlcuding IIS, service packs), SQL second, Office then VS.NET, with items in each sheet in a reasonable order. Also, remember to include what to 'uninstall' such as Windows Messenger (the one that comes with Windows XP), and what setup options you threw away (for me, no C++ or J# in VS.NET).
It's still a chore to reinstall, but at least you know exactly what you need to put back on the machine and where the CD is that has the setup program without having to download everything all over again.