Уточните версию Windows и требуемый компонент
.NET Framework 3.5, .NET Framework 4.x и современный .NET — разные ветви платформы. Новая версия не всегда заменяет старую для приложения, созданного под 2.0–3.5. Если программа прямо просит NetFx3 или .NET Framework 3.5, устанавливайте именно этот компонент. Сообщение о .NET Desktop Runtime 8, 9 или другой современной версии требует отдельного пакета и не решается включением 3.5.
Нажмите Win+R, выполните winver и запишите редакцию, версию и номер сборки Windows. Это особенно важно для автономной установки. Файлы из другого выпуска или сборки могут не подойти и оставить хранилище компонентов в неподдерживаемом состоянии. Разрядность установщика приложения также не означает, что нужно искать отдельный случайный пакет 3.5 x86 или x64.
В Windows 10 и большинстве выпусков Windows 11 платформа 3.5 является дополнительным компонентом. Система хранит сведения о функции, а необходимые файлы может получать через Центр обновления. Однако начиная с Windows 11 26H1, build 28000, Microsoft распространяет .NET Framework 3.5 отдельным установщиком для этой версии, а не обычным компонентом Windows. Для такой сборки используйте только предназначенный ей официальный пакет.
Проверьте требования программы на сайте разработчика. Иногда старый установщик неверно определяет уже установленный Framework или просит неподдерживаемую версию. Например, ситуация, когда autocad не видит net framework 4.5, относится к совместимости конкретного установщика с веткой 4.x, а не к загрузке компонента 3.5.
Если используется модифицированная сборка Windows, из которой удалены компоненты или изменены службы обновления, стандартная установка может быть необратимо нарушена. Не загружайте Framework из неофициального архива сборки. Надежная основа — поддерживаемая Windows из официального образа Microsoft с целым хранилищем компонентов.
Включите .NET Framework штатным способом
В поддерживаемой системе откройте поиск Windows, введите «Компоненты Windows» и выберите включение или отключение компонентов. Установите флажок «.NET Framework 3.5 (включает .NET 2.0 и 3.0)», нажмите OK и разрешите системе скачать файлы из Центра обновления. Не обязательно отмечать дочерние компоненты активации HTTP и WCF, если их не требует конкретное серверное приложение.
Подключитесь к стабильной сети без лимита трафика и проверьте правильность даты и времени. Временно отключите сторонний VPN или прокси только для теста, если они фильтруют обновления. Защитный экран полностью отключать не нужно. Если компьютер управляется организацией, сетевые ограничения и параметры обновлений должен проверять администратор.
Если окно долго стоит на загрузке, не завершайте процесс через диспетчер задач в первые минуты. Откройте «Параметры» → «Центр обновления Windows», проверьте наличие ожидающей перезагрузки и установите обслуживающие обновления. После перезапуска снова включите компонент. Одновременная установка обновления и функции может блокировать обслуживание.
Альтернативный штатный способ — терминал от имени администратора. Выполните DISM /Online /Enable-Feature /FeatureName:NetFx3 /All и дождитесь результата. Команда использует настроенный источник обслуживания, обычно Центр обновления. Не закрывайте окно при медленном проценте: некоторые этапы долго не меняют показание, но продолжают работать.
После сообщения об успешном завершении перезагрузите компьютер, если система просит об этом. Снова откройте список компонентов и убедитесь, что флажок сохранился. Проверяйте запуск нужной программы, а не только наличие папки Framework: каталоги могут существовать даже после неполной или поврежденной установки.
Расшифруйте код ошибки загрузки
Код 0x800F0906 обычно означает, что Windows не смогла скачать исходные файлы. Проверьте доступ к Центру обновления, прокси, VPN, межсетевой экран организации и состояние служб обновления. На домашнем компьютере начните со штатного средства устранения неполадок и обычной перезагрузки, а не с удаления каталогов обслуживания.
Ошибка 0x800F081F сообщает, что требуемый источник не найден или не соответствует установленной Windows. Если вы уже указали папку sources\sxs, проверьте букву подключенного образа, доступ на чтение и соответствие языка, выпуска, версии и сборки. Повторение одной команды с тем же неподходящим ISO результат не изменит.
Код 0x800F0907 связан с политикой, запрещающей обращение к Windows Update или использование неподходящего альтернативного источника. На рабочем компьютере не обходите доменные ограничения правкой реестра. Передайте код администратору: он может настроить источник для дополнительных компонентов или разрешить прямую загрузку содержимого восстановления вместо WSUS.
Некоторые корпоративные компьютеры используют сервер WSUS, на котором нет полезной нагрузки Feature on Demand. В редакциях с локальной групповой политикой нужная настройка находится в конфигурации компьютера, административных шаблонах, разделе «Система» и определяет параметры установки дополнительных компонентов и восстановления. Менять ее имеет право администратор, понимающий политику организации.
Код 0x800F0922 не относится только к .NET Framework и может сопровождать другие сбои обслуживания. Проверьте свободное место на системном разделе, незавершенные обновления и журналы CBS и DISM. Не копируйте универсальный набор команд из форума без понимания: массовый сброс компонентов обновления способен удалить полезную историю диагностики.
Используйте совместимый автономный источник
Для Windows 10 и тех выпусков Windows 11, где 3.5 остается дополнительным компонентом, скачайте официальный ISO той же версии, языка, редакции и архитектуры. Подключите образ двойным щелчком и запомните назначенную букву, например D:. Убедитесь, что внутри есть папка sources\sxs. Случайный SxS-архив с другого компьютера использовать нельзя.
Откройте терминал от имени администратора и выполните DISM /Online /Enable-Feature /FeatureName:NetFx3 /All /Source:D:\sources\sxs /LimitAccess, заменив D: на фактическую букву. Параметр LimitAccess запрещает обращение к Центру обновления и заставляет использовать указанный источник. Если появляется 0x800F081F, первым делом проверяйте соответствие ISO, а не меняйте разрешения системных папок.
Не извлекайте один CAB-файл и не запускайте его вручную: компонент состоит из нескольких пакетов и зависимостей, которыми должен управлять DISM. Не копируйте содержимое WinSxS между компьютерами. Такие действия нарушают согласованность хранилища и усложняют последующее обновление системы.
Для Windows 11 26H1, build 28000 и новее не применяйте старую инструкцию с включением функции NetFx3. Загрузите отдельный установщик .NET Framework 3.5, который Microsoft выпустила именно для этой версии Windows, и при необходимости соответствующий языковой пакет. Пакет для другой версии не подойдет.
После автономной установки запустите Windows Update, чтобы получить актуальные исправления безопасности для платформы. Сам факт установки старой среды нужен только для совместимого приложения. Если программа давно не поддерживается и обрабатывает файлы из интернета, по возможности обновите ее до версии на современной платформе.
Восстановите обслуживание или замените поврежденную сборку
Если одинаково не работают и Центр обновления, и подходящий ISO, откройте терминал от имени администратора и выполните DISM /Online /Cleanup-Image /RestoreHealth. После успешного восстановления запустите sfc /scannow, перезагрузите компьютер и повторите установку компонента. Эти команды проверяют хранилище и системные файлы, но не исправляют политики организации и не добавляют отсутствующий источник автоматически.
Посмотрите C:\Windows\Logs\DISM\dism.log и C:\Windows\Logs\CBS\CBS.log сразу после ошибки. Ищите последний код и упоминание NetFx3, не пытайтесь исправлять каждую строку Warning. Перед отправкой журнала удалите имена общих сетевых папок и другие сведения инфраструктуры. На корпоративном устройстве передавайте полный журнал только администратору.
Проверьте, не установлен ли сторонний «оптимизатор», который отключил службы обновления или удалил хранилище компонентов. Верните изменения через функцию самой программы либо восстановите систему из точки, созданной до модификации. Не скачивайте готовый WinSxS и не импортируйте чужие ветви реестра.
Для сильно измененной неофициальной сборки надежнее сделать резервную копию данных и выполнить чистую установку поддерживаемой Windows из официального образа. Попытка бесконечно добавлять удаленные пакеты не гарантирует безопасность и обновляемость. Лицензия программы и Windows должна соответствовать условиям использования; название сторонней сборки не дает отдельного официального варианта Framework.
Если NetFx3 установился, но приложение продолжает жаловаться, восстановите или переустановите само приложение, проверьте его разрядность и точный текст ошибки. Возможно, ему нужна ветка 4.x, современный .NET Desktop Runtime либо специфический языковой пакет. Не устанавливайте все версии подряд: это затрудняет диагностику и не помогает неверной проверке в старом установщике.
FAQ
Почему .NET Framework 3.5 не скачивается при работающем интернете?
Система может обращаться к корпоративному WSUS, блокироваться прокси или политикой либо ждать завершения другого обновления. Запишите код ошибки, проверьте перезагрузку и источник компонентов. Для 0x800F0906 обычно проверяют доступ к Windows Update, а для 0x800F0907 — политику администратора.
Можно ли скачать полный установщик .NET Framework 3.5 с любого сайта?
Нет. Для большинства поддерживаемых сборок компонент получают через Windows Update или из совпадающего официального ISO. В Windows 11 26H1 используется отдельный официальный установщик для этой версии. Сторонние сборки и отдельные DLL небезопасны и могут не соответствовать системе.
Почему DISM показывает 0x800F081F?
Указанный источник не содержит подходящих файлов либо не совпадает с установленной Windows. Проверьте путь D:\sources\sxs, букву диска, доступ и соответствие ISO версии, языка, редакции и архитектуры. Не используйте SxS от другого компьютера.
Заменяет ли .NET Framework 4.8 версию 3.5?
Не для всех приложений. Ветка 4.x не является прямой заменой среде 2.0–3.5, поэтому старой программе может понадобиться включенный NetFx3. Современный .NET также устанавливается отдельно согласно требованиям конкретной программы.
