Боб ответил на это в комментариях, а затем сказал, что кто-то может также сделать это ответ, так что я здесь.
Распространяемые файлы Visual C ++, как правило, небезопасно удалять, поскольку программы будут зависеть от их конкретных версий. Удаление одного, вероятно, что-то сломает.
.NET Framework 2.0, 3.0 и 3.5 все совместимы. т.е. сборки 2.0 будут работать на 3.0 и 3.5. .NET Framework 4.0, 4.5, 4.6 и 4.7 - все они совместимы (но не с предварительной версией 4.0). В этом конкретном случае удаление пакетов таргетинга будет означать, что Visual Studio не будет предлагать документацию intellisense при компиляции для этой версии. Но это, вероятно, не стоит удалять; они довольно маленькие.
Java должна автоматически очищать старые версии JRE, и обычно вам нужна только последняя версия. Однако некоторые программы сохраняют путь к определенной версии при установке, поэтому вам может потребоваться настроить конфиги
Если вы не разрабатываете для .NET и являетесь только пользователем, вам не нужны пакеты SDK и пакеты таргетинга. Старые JRE безопасны для удаления в большинстве случаев. Но если вы не отчаянно нуждаетесь в дисковом пространстве, то оставить их - самый безопасный вариант, да.