I've got like 4 Java 6 Update Xs in my "Programs and Features" thing (Vistas's Add/Remove Programs thing for those who don't realise) and like several .NET Framework X.Xs. To be more clear: Java 6 Update 1, Java 6 Update 2, Java 6 Update 3, Java 6 Update 4, .Net Framework 1.1, .Net Framework 3.5... etc. If I uninstall .Net Framework 1.1 will 3.5 cover everything that I need? Can I uninstall everything apart from Java 6 Update 4? Why do I have to keep these legacy versions? It just annoys me how they get their own separate entry which to me implies they can be uninstalled without effecting the others, but there's probably loads of programs that rely on the legacy versions and are allergic to the new ones, or something, right? I dunno. Do you guys get what I mean? Is it safe to remove the legacy ones? Do the new ones have backward compatibility for programs reliant on them? Not really an interesting question I know, but if you know please just say "Yes It's safe", or "No it isn't". I'd like to understand these things more. Normal programs like can only have one version installed in the same directory, but Java and .Net can seem to have multiple versions installed. Is it safe to have them all installed together?