I author .NET apps. If I author an app for .NET 2.0 and you install .NET 3.5 then the app fails.
3.5 is not an upgrade to 2.0. How that explains it well enough. It's a shame Microsoft blew the updates and has not issued a new update to fix that locked assemblies problem.
If you have .NET 2.0 sp 2 installed and you upgrade to .NET 3.5 sp 1, when done you'll still have .NET 2.0 sp 2 and .NET 3.0 installed.
Is it correct that the .NET 3.5 sp 1 requires the earlier versions of .NET?
In other words, don't uninstall them?