There are several installed versions of Microsoft SQL Server (2005, 2008 Compact Edition, 2012 Express Local, etc.) in the " Programs and Features ". Can I delete them and leave for example only Microsoft SQL Server 2014?

Update: There are a lot of Microsoft Visual C ++ 2005..2014 Redistributable (x86) - 10 - 14.0.23506 Can you demolish them, but keep only the latest version?

The same question in relation to the .NET Framework

  • possible, and what is the difficulty then ?! - Bald
  • maybe they are for any programs needed? - MaximK
  • 2
    everything can be, and how they are version of sql servers came to you on the computer. if you’re not sure, don’t touch anything so you don’t break anything - Bald

1 answer 1

You should not remove either the .NET Framework or the MSVC Redistributable.

The fact is that they do not replace each other. If the program requires Redistributable MS VC 2008, it will stop working when you demolish it, even if the machine is a senior Redistributable. Thus, DLL Hell is prevented: a situation when the program does not check the runtime version it is working with and crashes due to binary version incompatibility.


The same applies to the .NET framework, although it is a bit more complicated here: some versions can be demolished, some are not, there are nontrivial dependencies between them.

MSDN: Choosing Older Versions

The .NET Framework versions 2.0, 3.0, and 3.5 are built on the same CLR version (CLR 2.0). These versions represent consistent levels of a single installation. Each version is based on previous versions. Unable to run versions 2.0, 3.0 and 3.5 in parallel on the same computer. When installing version 3.5, levels of versions 2.0 and 3.0 are automatically created, and applications created for versions 2.0, 3.0 and 3.5 can be executed in version 3.5. However, in .NET Framework 4, this “layer” principle has ended. Starting in the .NET Framework 4, developers can use hosted concurrency to run multiple versions of the common language runtime in a single process.

In addition, if the application selected a target platform version 2.0, 3.0 or 3.5, users may need to enable .NET Framework 3.5 on a computer with Windows 8 or Windows 8.1 before they can run this application.

Of the 4.x versions, the older versions are a replacement for the younger ones, so in theory it is enough to keep the oldest of the installed versions (4.6.1 at the moment). Version 3 and 3.5 are essentially service packs for version 2, so if you have them, you need to leave both them and version 2.

There is conflicting information about whether to demolish lower versions (1.1, 2, 3, 3.5) if you already have 4+. In theory, they should be compatible. But I would not risk, they do not take up much space.


Supplement (based on the discussion in the chat and comments):

Starting with Windows Server 2003, .NET 2.0 is part of the system, so it will not appear in the list of installed programs. The same applies to .NET 3.0, starting with Vista / 2008. This means that you need to have 3.5 (preferably SP1) from the entire set of frameworks 2.0, 3.0, 3.5, while you will automatically have 2.0 SP2 and 3.0 SP2 (and you, apparently, cannot remove them).

With 4.x, everything is simpler: you only need the last framework (at the moment 4.6.1), the installation of the new one should replace the previous one.

For old versions 1.1 and 1.0: the program will work even if there is 2.0, unless it is configured to use a specific version and ignoring older versions. That is, in most cases, they can be removed, with minimal risk. But if you do not want to risk, you can leave.

Addition In Windows 10, Net Framework 2.0, 3.0, 3.5, 4.0 is initially

Article How to check installed versions: A practical guide. Identifying installed versions of the .NET Framework


Theoretically, you can delete versions if you know for sure that they are not needed by any of the programs on your machine. But this is essentially a task not for a person, but for a dependency management system. No one can handle the task better than her.

  • According to the NET Framework: I think it is necessary to leave 3.5 (it includes all the previous ones) and 4.x.x (It includes all versions from 3.5 and up) The rest can be demolished. If I agree, you can mark it in the answer - MaximK
  • @MaximK: If I understand correctly, 3.5 is only an “add-on” to 2.0, that is, you cannot demolish 2.0, 3.5 will stop working. - VladD
  • Not. If it costs 3.5, then all previous ones will work. But if it is not, and there are 4+, then you will need to install it. CLR versions are different. They have all the trouble. - MaximK
  • @MaximK: That is, if you put 2.0, then 3.5, and demolish 2.0, then the programs under 3.5 will work? - VladD
  • Microsoft says yes - MaximK