When trying to install Visual Studio 2008 on a development SharePoint box yesterday, I got an error stating that the .NET 3.5 framework could not be installed - "Microsoft .NET Framework 3.0a:  Error: Installation failed for component Microsoft .NET Framework 3.0a. MSI returned error code 1603". But apparently this seems to be a very general error message - luckily I found out this post from Aaron Stebner - How to locate the cause of error 1603 in a verbose MSI log file - which showed me that there was an error when trying to install .Net 3.0 SP1 - apparently .NET 3.5 will install this first.
Next, I needed to check if there were some problems with .NET 3.0 - again Aaron Stebner to the rescue who has built a .NET framework Setup Verification Tool. Unfortunately this did not provide a lot of extra information - everything seemed OK.
Next my quest lead me to this post - Steps I use to diagnose .NET Framework 3.0 installation failures related to the ServiceModelReg.exe custom action and indeed in the application event logs there was an error regarding WCF. The suggested workaround about disabling the IISAdmin service(uninstalling IIS was not an option - since this is a complete sharepoint dev box and I did not want to rebuild it) did not work.
But the last tip did work - installing .NET 3.5 SP1 instead of .NET 3.5. : "The .NET Framework 3.5 SP1 installs the .NET Framework 3.0 SP2 as a prerequisite behind the scenes. The .NET Framework 3.0 SP2 setup is configured to allow installation to complete even if the ServiceModelReg custom action fails. That means that you won't see the errors described in this blog post if you install the .NET Framework 3.5 SP1 on your system."