0

Using the great UninstallView utility, I found the following installs on my machine:

java installations VC installations .Net installations

So, can I remove some of them and which ones?

Thanks a lot!

  • While I disagree with the "opinion-based" close reason, you're better off asking separate questions for each piece of software, as they have different answers. In fact, I believe they might all already be answered elsewhere; use the site search. – Bob Feb 25 '18 at 9:22
  • Visual C++ Redistributables are generally not safe to remove, since programs will depend on specific versions of them. Removing one will likely break something. – Bob Feb 25 '18 at 9:23
  • .NET Framework 2.0, 3.0 and 3.5 are all compatible. i.e. 2.0 assemblies will run on 3.0 and 3.5. .NET Framework 4.0, 4.5, 4.6 and 4.7 are all compatible (but not with pre-4.0). In this particular case, removing the targeting packs will mean Visual Studio will not offer intellisense documentation when compiling for that version. But it's probably not worth removing; they're pretty small. – Bob Feb 25 '18 at 9:25
  • Java should auto-cleanup old JRE versions, and generally you only need the latest version. However, some programs will save a path to a specific version on install so you might need to adjust configs. – Bob Feb 25 '18 at 9:26
  • @Bob Thank you Bob. So, as I understand from you, I'll better leave all of them. – dushkin Feb 25 '18 at 9:30
3

Bob answered this in the comments, and then said someone might as well make it an answer, so here I am.

Visual C++ Redistributables are generally not safe to remove, since programs will depend on specific versions of them. Removing one will likely break something.

.NET Framework 2.0, 3.0 and 3.5 are all compatible. i.e. 2.0 assemblies will run on 3.0 and 3.5. .NET Framework 4.0, 4.5, 4.6 and 4.7 are all compatible (but not with pre-4.0). In this particular case, removing the targeting packs will mean Visual Studio will not offer intellisense documentation when compiling for that version. But it's probably not worth removing; they're pretty small.

Java should auto-cleanup old JRE versions, and generally you only need the latest version. However, some programs will save a path to a specific version on install so you might need to adjust configs

If you're not developing for .NET and are only a user, you don't need the SDKs and targeting packs. The older JREs are safe to remove in most cases. But if you're not desperate for disk space then leaving them is the safest option, yes.

  • 1
    I didn't see your answer until after I posted my own. Nice one. – Tonny Feb 25 '18 at 10:21
3

Don't. Benefits are minimal, potential for issues is huge.

In theory you should be able to remove a number of the older versions of software run-times like VC++, Java and .NET.

But in practice there are 2 major issues with that:

  1. There is plenty of software out there that assumes the specific version it came with at install time will remain on the system forever. Sometimes this is intentional: "We didn't test with newer versions, as those didn't exist back then, so we are not going to assume our product will work with those." Sometimes it is just bad coding from the developer.
  2. The other thing is that in some cases uninstalling an older version may break the newer one because the installer inadvertently removes something that is also needed by the newer version(s) of that run-time.
  • For VC++ specifically, you must link to a specific version (I think 2017 changed that, but anything older...). VC++ was not backwards compatible at all. For Java, there's three (1.0, 2.0 and 4.0) somewhat incompatible CLRs. – Bob Feb 25 '18 at 10:39
  • Sorry, the incompatible CLRs bit was about .NET, not Java. – Bob Feb 25 '18 at 12:56

Your Answer

By clicking "Post Your Answer", you acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.

Not the answer you're looking for? Browse other questions tagged or ask your own question.