What is the proper order for installing Microsoft software on a developer workstation?
I would use the following and this order IS KEY if you want to do ASP.NET Development without issue.
- Operating System
- IIS for the OS <- If not done before VS, issues can be had
- OS Updates
- Office
- Office Updates
- SQL Server and tools
- SQL Server Updates
- VS 2003
- VS 2003 Updates
- VS 2005 (DON'T install SQL Express)
- VS 2005 Updates
- VS 2008
- VS 2008 Updates
- VS 2010
- VS 2010 Updates
- VS 2012
- VS 2012 Updates
- Any third party tools for development environments (Telerik, DevExpress, etc)
I have found that with this format, you will NOT have any issues, but if you change the order, I have had bad things happen before. Especially important is the IIS setup piece!
I'd do:
- Operating System
- Office
- .Net framework runtimes
- Security Updates
- SQL Server
- Visual Studio
- Source control client
- Anti-virus/security software (if applicable)
- Any other tools (Notepad++, ftp client, etc)
- Security Updates
SQL Server comes before Visual studio because I use the Developer Edition or a full edition from MSDN. If you install Visual Studio first, it will want to put Sql Server Express Edition on my system, which I don't want.
That just leaves the order for visual studio installs. In general you want to install the older products first. However, there may be a situation where that's not the case. If you have, say, VS2008 Standard and VS2003 Professional you might want to install the professional edition later. But I haven't been able to play with that particular scenario.
Finally, I normally prefer to apply all patches at once. It saves time. However, I want to make sure my .Net runtimes are up to date before installing the developement tools, and in the case of multiple editions of Visual Studio (or any other complicated package) I prefer to make sure each instance of the software is fully up to date before installing the next. This helps with compatibility issues.
I'm definitely a Ghost addict. At a former work I would spend about 2-3 hours configuring properly everything needed for a user: Windows+patches, Office+patches, Acrobat Reader, etc. Once everything's ready I would create an image of the whole hard drive using Ghost, and store it somewhere (if possible, ZIP it and burn it to a DVD).
Then, when a new colleague arrived, I had Ghost restore the image onto a new hard drive - this was accomplished in 20 minutes or less! After that, manual work was reduced to:
- Changing PC's name
- Changing Windows and Office License numbers (I remember there was a tool at TechRepublic for this, technically it's not illegal)
- Changing PC's IP address (if you're not using DHCP)
- Ready!
All of those steps can be easily scripted, if you wish. Anyway, it's just 10 minutes or less.
At my current work I'm just a developer so I'm not in charge of preparing machines for new coworkers anymore. However, from this past experience I'd say using Ghost is the fastest and most cost effective way to setup new computers!
Especially the Windows installation and going to Windows Update - argh!! I really hate loosing so much time at these steps, it can be tolerated if you only do that once.