Большинство современных приложений Windows требуют наличия установленного .NET Framework. Например, в Windows 11/10 и Windows Server 2022/2019 по умолчанию уже установлена версия NET Framework 4.8. Однако некоторые старые приложения требуют наличия установленного .NET Framework 3.5, 2.0 или даже 1.0.
В этой статье мы рассмотрим, как установить .NET 3.5 в Windows 11/10 и Windows Server 2022/2019/2016.
Установка .NET Framework 3.5 в Windows 11 и 10
Проверьте, что .NET Framework 3.5 (включает в себя .NET 2.0 и 3.0) не установлен на вашем компьютере. Для этого, откройте консоль PowerShell с правами администратора и выполните команду:
Get-WindowsCapability -Online -Name NetFx3~~~~
В нашем случае .NET 3.5 не установлен (
State=NotPresent
).
В Windows 10/11 вы можете установить .Net Framework из панели Turn Windows Features on or off:
- Выполните команду
optionalfeatures.exe
; - В списке компонентов выберите .NET Framework 3.5 (includes .NET 2.0 and 3.0), нажмите ОК;
- Если на вашем компьютере есть доступ в Интернет, в следующем окне выберите Let Windows Update download the files for you;
- Windows скачает и установить последнюю версию компонента .NET Framework 3.5 с серверов Microsoft Update.
- С помощью DISM:
DISM /online /Enable-Feature /FeatureName:"NetFx3"
- Из PowerShell:
Enable-WindowsOptionalFeature -Online -FeatureName "NetFx3"
Если ваш компьютер не подключен к интернету или находится в изолированной сети, то при установке .NET 3.5 появится ошибка:
Windows couldn’t complete the requested changes. The changes couldn’t be completed. Please reboot your computer and try again. Error code: 0x8024402C
В этом случае вы можете вручную установить компоненты NET 3.5 с вашего установочного образа (диска) Windows. Для этого вам понадобится установочная USB флешка или файл с ISO образом вашей версии Windows (как проверить версию Windows в ISO образе):
- Подключите ваш носитель с ставочным образом Windows к компьютеру. В моем случае у меня есть файл Windows11-22h2.iso. Щелкните по файлы и выберите Mount, чтобы смонтировать образ в виртуальный DVD привод (или воспользуйтесь командой PowerShell:
Mount-DiskImage -ImagePath "C:\distr\Windows11-22h2.iso"
); - В моем случае виртуальному приводу с образом была назначена буква диска E: (мы будем использовать эту букву в следующих командах);
- Чтобы установить .Net 3.5 из файлов компонентов на установочном диске выполните команду:
DISM /online /enable-feature /featurename:NetFX3 /All /Source:E:\sources\sxs /LimitAccess
Или (аналогичная PowerShell команда):
Add-WindowsCapability -Online -Name NetFx3~~~~ -Source E:\Sources\SxS
Чтобы проверить, что .NET Framework успешно установлен, выполните команду:
Get-WindowsCapability -Online -Name NetFx3~~~~
Name : NetFX3~~~~ State : Installed DisplayName : .NET Framework 3.5 (includes .NET 2.0 and 3.0) Description : .NET Framework 3.5 (includes .NET 2.0 and 3.0) DownloadSize : 72822163 InstallSize : 496836410
Выведите список версий .NET Framework, которые установлены на вашем компьютере:
Get-ChildItem 'HKLM:\SOFTWARE\Microsoft\NET Framework Setup\NDP' -Recurse | Get-ItemProperty -Name version -EA 0 | Where { $_.PSChildName -Match ‘^(?!S)\p{L}’} | Select PSChildName, version
[/alert]
Как установить .NET 3.5 в Windows Server 2022/2019/2016?
В Windows Server 2022,2019,2016 и 2012 R2 вы можете установить NET Framefork 3.5 несколькими способам:
- ерез Server Manager (Add roles and features -> Features -> .NET Framework 3.5 Features -> .NET Framework 3.5 (includes .NET 2.0 and 3.0 );
- С помощью DISM:
DISM /Online /Enable-Feature /FeatureName:NetFx3 /All
- С помощью PowerShell:
Install-WindowsFeature NET-Framework-Core
При этом установочные файлы .NET 3.5 для вашей версии Windows Server будут загружены с серверов Windows Update. Чтобы сработал этот метод установки нужно убедиться:
- Ваш Windows Server должен иметь прямой доступ в Интернет. Настройки прокси-сервера и файервола не должны ограничивать доступ к серверам Windows Update.
- Хост не должен быть настроен на получения обновлений с локального WSUS сервера (проверьте настройки обновлений Windows в групповых политиках или напрямую в реестре);Проверьте значение параметра UseWUServer в реестре:
Get-ItemProperty -Path "HKLM:\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU" -Name "UseWUServer" | select -ExpandProperty UseWUServer
Если значение параметра равно 1, значить ваш хост будет пытаться получить обновления с локального WSUS сервера. В этом случае при установке .NET 3.5 появится ошибка 0x800F0954. Измените значение параметра на 0 или удалите его, чтобы подключиться напрямую к серверам обновлений Windows Update.
Если ваш сервер имеет доступ в Интернет, но настроен на получение обновлений со WSUS, при устапновке NET Framework появится ошибка 0x800f081f.
Решение: установить .Net 3.5 онлайн с серверов Microsoft и игнорировать локальный WSUS:
- Экспортируйте в reg файл текущие настройки Windows Update в ветке HKLM\Software\Policies\Microsoft\Windows\WindowsUpdate (
reg export HKLM\Software\Policies\Microsoft\Windows\WindowsUpdate c:\WindowsUpdateRegFile.reg
) - Удалите данную ветку (
Remove-Item -Path HKLM:\Software\Policies\Microsoft\Windows\WindowsUpdate -Recurse
) и перезапустите службу:net stop wuauserv & net start wuauserv
- Запустите установку .Net из Интернета:
DISM /Online /Enable-Feature /FeatureName:NetFx3 /All
- После окончания установки верните настройки WU, импортировав reg файл (
Reg import c:\WindowsUpdateRegFile.reg
) и еще раз перезапустите службу Windows Update
Если с вашего сервера нет прямого доступа в Интернет, то при попытке установить .NET 3.5 в Windows Server через консоль Server Manager появится ошибка 0x800F081F (The source files could not be found), 0x800F0950, 0x8024402c, 0x800F0906 или 0x800F0907 (в зависимости от версии Windows Server).
Хотя .NET Framework 3.5 присутствует в списке компонентов Windows Server 2022/2019/2016/2012R2, на самом деле его бинарные файлы в хранилище компонентов Windows отсутствуют (концепция Features on Demand). Это сделано, чтобы уменьшить размер образа операционной системы на диске. Вы можете проверить наличие.NET Framework 3.5 в локальном хранилище компонентов Windows Server с помощью команды:
Get-WindowsFeature *Framework*
Как вы видите статус компонента
NET-Framework-Core
– Removed.
Для установки NET-Framework-Core вам потребуется дистрибутив с вашей версией Windows Server в виде ISO файла, или в распакованном виде в сетевой папке. Смонтируйте ISO образ с дистрибутивом в отдельный виртуальный диск (например, диск D:).
Теперь вы можете установить .Net Framework 3.5 с помощью графической консоли Server Manager:
Установить компонент .Net 3.5 можно из графической консоли Server Manager. Для этого выберите компонент .Net Framework 3.5 Features, но, перед тем, как нажать кнопку Install, нажмите небольшую ссылку внизу мастера — Specify an alternative source path.
- Для этого выберите компонент .Net Framework5 Features. Перед тем, как нажать кнопку Install, нажмите на ссылку Specify an alternative source path внизу;
- Укажите путь к хранилищу компонентов (SXS) дистрибутива Windows Server. Если вы смонтировали дистрибутив в виртуальный привод, это может быть путь
D:\sources\sxs
. Также это может быть сетевая папка, куда вы предварительно скопировали дистрибутив (например,\\server1\distr\ws2022\sources\sxs
). Нажмите ОК.
Гораздо проще установить компонент Net Framework 3.5 Features из командной строки или консоли PowerShell, запущенной с правами администратора. Просто выполните команду:
Dism.exe /online /enable-feature /featurename:NetFX3 /All /Source:D:\sources\sxs /LimitAccess
D:\
— диск с вашим дистрибутивом Windows Server.Параметр LimitAccess запрещает DISM подключение к серверам обновлений для получения установочных файлов компонентов. Используются только файлы в указанном каталоге.
Если вы хотите установить компонент Windows Server с помощью PowerShell, воспользуйтесь командой Add-WindowsFeature:
Add-WindowsFeature NET-Framework-Core -Source d:\sources\sxs
После завершения установки компонента, перезагрузка сервера не требуется.
Также вы можете вручную скопировать 2 cab файла
microsoft-windows-netfx3...
из каталога sources\sxs вашего дистрибутива. В этом случае для установки .Net 3.5 достаточно выоплнить команду:
dism /online /Add-Package /PackagePath:C:install\net35\microsoft-windows-netfx3-ondemand-package~31bf3856ad364e35~amd64~~.cab.
Настройка параметров офлайн установка .Net 3.5 помощью GPO
С помощью групповой политики Specify settings for optional component installation and component repair (находится в разделе GPO Computer Configuration -> Administrative Templates -> System) можно настроить особые параметры установки компонентов Windows из локального источника или Windows Update даже при использовании WSUS.
Здесь можно указать, что при установки или восстановлении компонентов Windows необходимо всегда загружать файлы из Интернета с серверов Windows Update вместо локального WSUS (опция Download repair content and optional features directly from Windows Update instead of Windows Server Update Services — WSUS).
Также можно указать путь к каталогу с компонентами Windows Server (или wim файлу), который нужно использовать при офлайн установке (указывается в параметр Alternate source file path). Вы можете указать:
- Путь к сетевой папке в UNC формате (
\\server\distr\ws2016\sxs
) (здесь можно указать несколько UNC путей через точки с запятой:\\srv1\ws22\sxs;\\fs01\ws22\sxs;\\fs3\sxs
- Путь к сетевой папке в UNC формате (
- Также допустимо указывать WIM файл в качестве источника:
WIM:\\srv1\distr\ws2016\install.wim:2
(в этом случае2
– это индекс образа вашей редакции Windows Server в WIM файле. Список доступных редакций в файле можно вывести так:DISM /Get-WimInfo /WimFile:"\\server\distr\ws2016\install.wim"
)