Большинство современных приложений Windows требуют установки .NET Framework. Например, NET Framework 4.8 устанавливается по умолчанию на Windows 11/10 и Windows Server 2022/2019. Однако некоторые старые и устаревшие приложения требуют установки .NET Framework 3.5, 2.0 или даже 1.0.

Установка .NET Framework 3.5 в Windows 11 и 10

Убедитесь, что .NET Framework 3.5 (включает .NET 2.0 и 3.0) не установлен на вашем компьютере. Откройте консоль PowerShell от имени администратора и выполните команду:

Get-WindowsCapability -Online -Name NetFx3

Get-WindowsCapability NetFx3

В нашем случае .NET 3.5 не установлен (State=NotPresent).

В Windows 10/11 вы можете установить .Net Framework из папки Включить или выключить функции Windows панель:

  1. Выполните команду optionalfeatures.exe;
  2. Выберите .NET Framework 3.5 (включает .NET 2.0 и 3.0) в списке компонентов, нажмите OK;установка .net 3.5 framework на windows 11 и 10 через панель управления
  3. Если ваш компьютер имеет прямой доступ в Интернет, выберите «Пусть Windows Update загрузит файлы за вас»;установить net framework 3.5 онлайн
  4. Windows загрузит и установит последнюю версию компонента .NET Framework 3.5 с серверов Microsoft Update.загрузка исходного кода .net framework с сервера windows update
Вы также можете установить .NET Framework 3.5 из командной строки:

  • Использование 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

ошибка 0x8024402C при установке фреймворка net 3.5 на windows 10

В этом случае вы можете вручную установить NET 3.5 с установочного носителя Windows. Для этого вам понадобится установочный USB-накопитель или файл ISO-образа с вашей версией Windows (как проверить версию Windows в ISO-образе):

  1. Подключите носитель с установочным образом Windows к компьютеру. В моем случае у меня есть файл ISO-образа Windows 11. Щелкните на файле и выберите Монтировать чтобы подключить образ к виртуальному DVD-приводу (или воспользуйтесь командой PowerShell: Mount-DiskImage -ImagePath "C:\ISO\Windows11-22h2.iso" );
  2. В моем случае виртуальному диску с образом была присвоена буква диска E: (мы будем использовать эту букву диска в следующих командах);
  3. Чтобы установить .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 3.5 с помощью powershell в автономном режиме

Чтобы убедиться, что .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 3.5 в Windows 11

Перечислите версии .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

список установленных версий net framework

Как установить .NET Framework 3.5 на Windows Server 2022/2019/2016

На Windows Server 2022, 2019, 2016 и 2012 R2 можно установить NET Framework 3.5 несколькими способами:

  • Через диспетчер сервера: Добавить роли и возможности -> Возможности -> .NET Framework 3.5 Возможности -> .NET Framework 3.5 (включает .NET 2.0 и 3.0 );
  • Использование DISM: DISM /Online /Enable-Feature /FeatureName:NetFx3 /All
  • С помощью PowerShell: Install-WindowsFeature NET-Framework-Core

В этом случае все необходимые файлы установки .NET 3.5 для вашей версии Windows Server будут загружены с серверов Windows Update. Чтобы этот метод установки работал, необходимо проверить следующее:

  1. Ваш Windows Server должен иметь прямой доступ в Интернет. Параметры прокси-сервера и брандмауэра не должны ограничивать доступ к серверам Windows Update;
  2. Ваш хост не должен быть настроен на получение обновлений с локального сервера WSUS. Проверьте текущие параметры Windows Update с помощью отчета о результатах групповой политики (rsop.msc) или непосредственно в реестре;
    Проверьте значение параметра UseWUServer параметр в реестре:
    Get-ItemProperty -Path "HKLM:\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU" -Name "UseWUServer" | select -ExpandProperty UseWUServer
    Если значение параметра 1, то ваш хост настроен на получение обновлений Windows с локального сервера WSUS. В этом случае вы получите ошибку 0x800F0954 при установке .NET 3.5. Измените параметр реестра на 0 или удалите его, чтобы напрямую подключиться к серверам Microsoft Windows Update.

Если вы можете получить доступ к Интернету с узла Windows Server, но он настроен на получение обновлений от WSUS, вы увидите ошибку 0x800f081f при установке NET Framework.

Решение: Установите .Net 3.5 в режиме онлайн с серверов Microsoft и игнорируйте локальный WSUS:

  1. Экспортируйте текущие параметры Windows Update из ключа реестра HKLM\Software\Policies\Microsoft\Windows\WindowsUpdate в REG-файл:
    reg export HKLM\Software\Policies\Microsoft\Windows\WindowsUpdate c:\WindowsUpdateRegFile.reg
  2. Удалите этот ключ ( Remove-Item -Path HKLM:\Software\Policies\Microsoft\Windows\WindowsUpdate -Recurse ) и перезапустите службу: net stop wuauserv & net start wuauserv
  3. Запустите установку .Net 3.5 из Интернета: DISM /Online /Enable-Feature /FeatureName:NetFx3 /All
  4. После завершения установки верните прежние настройки WU: импортируйте reg-файл ( Reg import c:\WindowsUpdateRegFile.reg ) и снова перезапустите службу Windows Update

Если с сервера нет прямого доступа в Интернет, то при попытке установить .NET 3.5 на Windows Server через Server Manager вы получите ошибку 0x800F081F (Исходные файлы не могут быть найдены), 0x800F0950, 0x8024402c, 0x800F0906, или 0x800F0907 (в зависимости от версии Windows Server).

Ошибка установки Net Framework 3.5 0x800f081f (Не удалось найти исходные файлы).

Хотя .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 3.5 удалена функция на Windows Server

Как вы можете видеть, статус функции NET-Framework-Core следующий Удалено.

Чтобы установить NET-Framework-Core, вам понадобится дистрибутив с вашей версией Windows Server в виде ISO-файла или в распакованном виде в сетевой папке. Смонтируйте ISO-файл с установочным образом Windows Server в качестве виртуального диска (например, диска D:). Теперь вы можете установить функции Windows из графического интерфейса или с помощью PowerShell.

Функцию .Net 3.5 можно установить из графической консоли Server Manager:

  1. Выберите .Net Framework 3.5 как и ранее, но прежде чем нажать кнопку УстановитьНажмите на маленькую ссылку Укажите альтернативный путь к источнику в нижней части формы;Укажите альтернативный путь к источнику.
  2. Укажите путь к папке Component Store (SXS) в дистрибутиве Windows Server. Если вы смонтировали ISO-образ в качестве виртуального диска, путь может выглядеть следующим образом D:\sources\sxs. Это также может быть сетевой ресурс, куда вы скопировали файлы дистрибутива (например, \\fs1\iso\ws2016\sources\sxs). Затем нажмите OK.папка windows server2016 source sxs

Гораздо проще установить .NET Framework 3.5 из поднятой командной строки или консоли PowerShell. Просто выполните команду:

Dism.exe /online /enable-feature /featurename:NetFX3 /All /Source:D:\sources\sxs /LimitAccess

Где D:\ это диск с исходными файлами Windows Server.[LimitAccess Параметр запрещает DISM подключаться к серверам Windows Update для получения бинарных файлов функций. Используются только исходные файлы в указанной папке.

Dism.exe /online /enable-feature /featurename:NetFX3 /All /Source:D:\sources\sxs /LimitAccess

Если вы хотите установить функцию Windows Server с помощью PowerShell, используйте команду Add-WindowsFeature:

Add-WindowsFeature NET-Framework-Core -Source d:\sources\sxs

После завершения установки компонента перезагрузка сервера не требуется.

Вы также можете вручную скопировать 2 CAB-файла microsoft-windows-netfx3... из \sources\sxs папки установочного образа Windows Server. В данном случае для установки .NET 3.5 достаточно выполнить команду:

dism /online /Add-Package /PackagePath:C:\distrib\net35\microsoft-windows-netfx3-ondemand-package~31bf3856ad364e35~amd64~~.cab.

Настройка параметров автономной установки .Net Framework с помощью GPO

Вы можете настроить определенные параметры для установки компонентов Windows из локального источника или Windows Update даже при использовании WSUS с помощью параметра групповой политики Указание параметров для дополнительной установки компонентов и восстановления компонентов (находится в разделе GPO Конфигурация компьютера -> Административные шаблоны -> Система).

На автономном компьютере этот параметр политики можно включить с помощью редактора локальной групповой политики (gpedit.msc). В среде Active Directory можно создать GPO для всех компьютеров/серверов с помощью консоли GPMC (gpmc.msc).

Здесь можно указать, что при установке или восстановлении компонентов Windows следует всегда загружать файлы с серверов Windows Update (Интернет), а не с локального сервера WSUS (параметр «Загрузка содержимого для ремонта и дополнительных функций непосредственно с Windows Update вместо служб Windows Server Update Services» вариант).

Вы также можете указать путь к общей папке с компонентами Windows Server, которую вы хотите использовать для автономной установки, в параметре «Альтернативный путь к исходному файлу» параметр:

  • Укажите путь к общей сетевой папке в формате UNC (\\fs01\distr\ws22\sxs) (здесь можно указать несколько путей UNC, разделенных точками с запятой: \\fs01\ws22\sxs;\\man02\ws22\sxs;\\fs03\sxs)
  • Также можно указать WIM-файл в качестве источника: WIM:\\fso1\distr\ws16\install.wim:2 (в данном случае, 2 это индекс образа вашей редакции Windows Server в WIM-файле. Перечислить доступные редакции Windows Server в WIM-файле можно с помощью команды: DISM /Get-WimInfo /WimFile:"\\server\distr\ws2016\install.wim" )

Укажите настройки для установки дополнительных компонентов и ремонта компонентов

Используйте разные источники SXS для разных версий Windows Server. Если в вашей сети используется несколько версий Windows Server, вам нужно будет создать отдельные GPO с разными UNC-путями к источникам SXS. Вы можете использовать WMI-фильтры групповой политики, чтобы применить GPO только к узлам, на которых установлены определенные версии Windows Server.