В ОС Windows одновременно может быть установлено несколько версий .NET Framework. При установке на компьютере нового приложения, разработанного на .Net, иногда нужно предварительно узнать какие версии и пакеты обновления .Net Framework уже установлены на компьютере пользователя или на сервере. Получить список установленных версий .NET Framework можно разными способами.
Выводим список установленных версий .NET Framework в командной строке
Все версии .NET Framework устанавливаются в каталоги:
- %SystemRoot%\Microsoft.NET\Framework
- %SystemRoot%\Microsoft.NET\Framework64
Поэтому самый простой способ вывести список установленных версий .Net – открыть данную папку. Каждой версии соответствует отдельный каталог с символов v в начале и номером версии в качестве имени папки. Либо можно вывести список каталогов (версий) .NET Framework в командной строке так:
dir %WINDIR%\Microsoft.Net\Framework\v* /O:-N /B
Команда выведет все установленные версии кроме 4.5, т.к. .NET Framework 4.5 устанавливается в подкаталог v4.0.xxxxx.
Информация об установленных версиях .NET Framework в реестре
При установке или обновлении любой версии .NET Framework в реестр записывается довольно много полезной информации.
Откройте редактор реестра и перейдите в раздел HKLM\SOFTWARE\Microsoft\NET Framework Setup\NDP. В данном разделе содержатся подраздел для каждой установленной в системе версии .NET. Нужная информация содержится в разделе с именем ветки (а для .Net 4.0 и выше в подразделах Client и Full). Нас интересуют следующие параметры реестра:
- Install — флаг установки версии (если равен 1 – данная версия .Net установлена на компьютере);
- Install Path — каталог, в который установлена данная версия .Net;
- Release — номер текущего релиза .Net;
- Version — полный номер версии .Net Framework.
К примеру, в данном примере видно, что на компьютере установлены .NET Framework v2.0.50727, 3.0, 3.5 и 4.0 (релиз 460805).
С помощью следующей таблицы вы можете установить соответствие между номером релиза и версией .NET Framework 4.5 и выше.
Значение DWORD параметра Release | Версия .NET Framework |
378389 | .NET Framework 4.5 |
378675 | NET Framework 4.5.1 на Windows 8.1 / Windows Server 2012 R2 |
378758 | .NET Framework 4.5.1 на Windows 8, Windows 7 SP1, Windows Vista SP2 |
379893 | .NET Framework 4.5.2 |
393273 | .NET Framework 4.6 на Windows 10 |
393297 | .NET Framework 4.6 |
394254 | .NET Framework 4.6.1 на Windows 10 November Update |
394271 | .NET Framework 4.6.1 |
394802 | .NET Framework 4.6.2 на Windows 10 Anniversary Update |
394806 | .NET Framework 4.6.2 |
460798 | .NET Framework 4.7 на Windows 10 Creators Update |
460805 | .NET Framework 4.7 |
461308 | .NET Framework 4.7.1 на Windows 10 Fall Creators Update |
461310 | .NET Framework 4.7.1 |
461808 | .NET Framework 4.7.2 на Windows 10 April 2018 Update |
461814 | .NET Framework 4.7.2 |
Проверка версии .Net Framework с помощью Powershell
Можно получить информацию об установленных версиях и релизах Framework с помощью PowerShell. Эту информацию также можно получить из реестра. Например, выведем информацию о текущем установелнном релизе .NET 4.x можно с помощью командлета Get-ItemProperty (подробнее о работе с записями реестра из PowerShell):
(Get-ItemProperty ‘HKLM:\SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full’ -Name Release).Release
Утилита .Net Version Detector
Существует сторонняя бесплатная утилита Asoft .Net Version Detector, с помощью которой можно в наглядном и удобном виде получить список установленные версий .NET Framework. Утилита качается с сайта разработчика (http://www.asoft.be/prod_netver.html) и не требует установки. В красивом окошке утилита выведет все установленные на компьютере версии .NET, а также максимальную доступную версию на данный момент.
Довольно удобно, что прямо в программе можно перейти на страницу загрузки различный версий .NET Framework, где можно скачать нужный пакет.
Утилита CLRver.exe
В состав Microsoft Visual Studio входит отдельная утилита CLRver.exe, которая выводит отчет обо всех установленных версиях среды CLR на данном компьютере. Выполните команду CLRver.exe
в командной строке и в консоли появится список установленных версии dotNet на компьютере.
Напоследок, в качестве полезной информации отметим, что в серверных ОС начиная с Windows Server 2012, все базовые версии .Net (3.5 и 4.5) является частью системы и устанавливаются в виде отдельного компонента (Установка .NET Framework 3.5 в Windows Server 2016, в Windows Server 2012 R2), а минорные (4.5.1, 4.5.2 и т.д.) устанавливаются уже в виде обновлений через Windows Update или WSUS.