Большинство современных приложений 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"
)
Спасибо!
Спасибо!
А если нет диска и не откуда взять SxS???? То что делать????
В любом случае понадобится либо диск с дистрибутивом Windows либо сервер с такой-же установленной версией ОС. Не думаю, что найти и скачать дистрибутив сейчас большая проблема…
спасибо очень помогло !
Спасибо!
Спасибо получилось установить .Net 3.5 только по вашей инструкции. Поправьте только путь на D:\sources\sxs
Спасибо!
RepairContentServerSource параметр в реестре в каком формате должен быть? REG_CZ или DWORD??? какой? и что стоит ) или какие еще?
Сделал так! Windows 10 64bit Сборка 1511.63
Центр обновления был закрытый.В службах.Открыл. на ручном. Зашел в программы и компоненты-Включение и отключение компонентов Windows.Выставил чек боксы на всех трех вариантах. Установилось.Принял изменения. Закрыл обновления ( это уже на моё усмотрение) и всё. Всё встало. в реестре раздела не было как указано.параметров какие создать в данном разделе,применять не стал. .Ну как то так
Спасибо! Всё получилось! Недоработка MS — система не просит вставить дистрибутив…
Спасибо, статья очень полезная! все получилось!
Большое спасибо!!!
Обічно ведь такоа проблема возникает если нет инета, или обновления настроены через wsus.
А как добавить эти компоненты на всус чтоб они через него же и ставились?
Немного не понял вас. WSUS не предназначен для установки ролей/компонентов Windows — только обновления, апгрейды, драйвера и патчи.
Если же это реализуемо, поделитесь как, а я постараюсь помочь эту тему раскрыть.
Сейчас на серваке 2012r2 установил эти компоненты. Путь не указывал. Скачались сами из инета. Ничего из инструкции делать не пришлось
Спасибо!
Вариант с Powershell помог решить проблему.
Работает, спс )
Отлично!
Можно просто скачать нужную версию с сайта MS, положить в корень и указать как альтернативный путь.
Работает,
Спасибо
Большой респект автору. Но хотелось бы уточнить, что WindowsUpdate находится на самом деле тут HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\WindowsUpdate, а не HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\WindowsUpdate.
Принято :). Поправил путь
Коротко и ясно. Спасибо!
Огонь!
Спасибо, помогло!
Долго искал и мне помогла только такая команда
dism /online /Add-Package /PackagePath:C:\sxs\ /ignorecheck
где в C:\sxs\ положил cab файлы для своего дистра
спасибо за вашу работу!
SQL Server 2014 SP2 на Windows 10 21H1 без .NET Framework v3.5 SP 1 не устанавливается. При этом .NET Framework v4.8 ОС не устанавливает по причине того, что уже установлена более новая версия. Пришлось самостоятельно скачивать .NET Framework v3.5 с web-сайта мелкомягких (даже произносить это мерзкое слово неприятно).
СПАСИБО!
У вас там ошибка.
В начале статьи выполняете
Get-WindowsCapability -Online -Name NetFx3
а далее
Get-WindowsCapability -Online -Name NetFx3~~~~
Ага, там действительно разные результаты в powershell.exe и pwsh.exe
Спасибо !!!!
Dism.exe /online /enable-feature /featurename:NetFX3 /All /Source:D:\sources\sxs /LimitAccess
Помогло!!!
А что делать если в дистрибутиве нет папки Sources? Есть только boot, EFI JINN
Странно.. Это основная папка, где лежит install.esd или wim. У вас случайно не сборка?
Статья очень помогла! Респект и уважуха!
Какая же конченная винда, действие, которое раньше выполнялось в 2 клика (скачал пакет с сайта майкрософт — установил его) — теперь требует многочасовых танцев с бубном и ковыряниями с командной строкой и ошибками, кошмар
Windows 11, при установке скачанного полного дистрибутива или попытки включения в компонентах одна и та же ошибка — 0х80072F8F.
Гугление по ошибке утверждает что это отсутствие доступа к серверам мелкомягких, но обновления ставятся же прекрасно.
Как получить cab- файлы из оффлайн установщика кто-то подскажет? Скачал полный дистрибутив на 230 мегабайт, но при запуске он так же предлагает скачать файлы из интернета и так же даёт ту же самую ошибку. Зачем тогда нужен такой установщик? 🙁
Я что-то не видел офлайн установщик net 3.5 для Windows 11.
Если вы не смогли установить компонент из смонтированного установочного ISO с Windows 11 командой:
DISM /online /enable-feature /featurename:NetFX3 /All /Source:E:\sources\sxs /LimitAcces
наверно, нужно проверить целостность образа вашей Windows и исправить ошибки:
sfc /scannow
DISM /Online /Cleanup-Image /RestoreHealth
В моем случае ошибка 0x80072ee6 при установке NET Framework.
Проблема оказалось в том, что на уровне локалных политик отключено обновление через WU:
Specify intranet Microsot update service location — несужествующий адрес
Do not connect to any Windows Update Internet lication
Очень конечно все логично, но что если Windows Server 2012R2 говорит что сурс файлы не найдены, когда ему указываешь /Source:D:\Sources\Sxs\ именно устанавочного образа от Windows Server 2012R2?
вы — мой герой. спасибо!
Спасибо! Очень полезная и информативная статья. Помогла.
Спасибо. В win10 через dism и cd с дистритутивом установилось.
Спасибо!!!!
p.s. вариант с Powershell подошел идеально)
В установочном дистрибутиве есть папка Sources, но в ней нет папки SxS… При попытках установки из других сборок, соответственно ошибка. Есть варианты установить net 3.5?
Что за образ? может быть он самосборный и кастрированный какой-то?
Супер! Большое спасибо!