Итак, я пытаюсь установить .net 3.5 на сервере Windows 2012 R2. Я пробовал через функцию добавления и через DISM, оба не дали результата.
При попытке через графический интерфейс добавления функций я использую «Указать альтернативный путь». Это не удается с ошибкой «не удалось установить одну или несколько ролей, служб ролей или функций»
При попытке использовать DISM через повышенную оболочку PowerShell я использую следующую команду.
dism.exe /online /enable-feature /featurename:NetFX3 /Source:d:\sources\sxs
Это не с
Ошибка: 0x800f0906 Не удалось загрузить исходные файлы. Используйте опцию «источник», чтобы указать расположение файлов, необходимых для восстановления функции. Для получения дополнительной информации об указании исходного местоположения см. http://go.microsoft.com/fwlink/?LinkId=243077
Файл журнала DISM можно найти в C: \ Windows \ Logs \ DISM \ DISM.log
Я следил за указанным выше КБ (243077), чтобы установить расположение групповой политики для папки SXS. Перезагрузился и все та же ошибка. Журнал DSIM показывает следующее
Ошибка при обработке команды enable-feature. - CPackageManagerCLIHandler :: ExecuteCmdLine (час: 0x800f0906)
Быстрый поиск в Google показывает, что у многих людей возникают проблемы с этим, и вам следует удалить KB2966826 и KB2966828 этот сервер еще не установлен.
Я также пробовал автономный установщик .Net, и он говорит, что я должен добавить его через функции Windows. Все команды выполнялись от имени администратора и через запрос с повышенными привилегиями.
Во время написания этого я искал, заметил "похожие вопросы" и взглянул на это Невозможно установить .net 3.5 на Windows server 2012
Бег
dism.exe /online /enable-feature /featurename:NetFX3 /all
Произошла та же ошибка, что и выше.
Для установки .NET Framework 3.5 в Windows 8.1 и Server 2012 R2 я использую следующую команду:
DISM /Online /Enable-Feature /FeatureName:NetFx3 /All /LimitAccess /Source:D:\sources\sxs
Где D: \ - это смонтированный ISO- или DVD-привод. Единственное отличие от вашего - это / LimitAccess, но я считаю, что это важная часть, поскольку она предотвращает попытки связаться с Центром обновления Windows или WSUS. По какой-то причине этот аспект (обращение в Центр обновления Windows) полностью нарушен для .NET Framework 3.5 в Windows 8 / 8.1 и Server 2012 / 2012R2 и всегда будет вызывать сбой.
Смотрите также: http://blogs.technet.com/b/askcore/archive/2012/05/14/windows-8-and-net-framework-3-5.aspx
У меня была такая же проблема, когда я монтировал установочный диск Windows или использовал физический DVD, и вот как я это исправил:
DISM.exe /online /enable-feature /featurename:NetFX3 /All /Source:C:\NetFX3 /LimitAccess
По какой-то причине мой оптический привод показывает файлы на диске, но DISM это не нравится, но копирование файлов на C: похоже, сработало.
Решением для меня было сочетание этих ответов. Я был на машине с Windows Server 2012 R2.
Я пытался обойти тот факт, что у меня под рукой не было ISO-образа ОС. Но заставить его работать не удалось. Поэтому я был вынужден найти ISO для Windows Server 2012 R2.
1.) Запустите редактор локальной групповой политики или консоль управления групповой политикой (WIN + R и введите gpedit.msc).
2.) Разверните «Конфигурация компьютера», разверните «Административные шаблоны» и выберите «Система».
3.) Откройте параметр «Укажите параметры для групповой политики установки дополнительных компонентов и восстановления компонентов», а затем выберите «Включено».
4.) Установите флажок «Обратиться в Центр обновления Windows напрямую, чтобы загрузить материалы для восстановления вместо служб Windows Server Update Services (WSUS)». Нажмите Применить, нажмите ОК.
5.) Загрузите ISO-образ ОС и смонтируйте образ. Я скачал здесь: https://www.technig.com/download-windows-server-2012-r2-essentials-iso-file/
* Примечание: это файл размером 3Гб.
6.) Откройте Powershell с повышенными привилегиями и запустите:
DISM / Online / Enable-Feature / FeatureName: NetFx3 / All / LimitAccess / Источник: E: \ sources \ sxs
* Примечание: в этом случае ISO был смонтирован на диск «E: \».
установить Net 3.5 с Powershell
* Эта ветка была спасательной. Спасибо всем участникам, особенно @Joshua McKinnon!
Ни один из вышеперечисленных методов у меня не помог. Оказалось, что у меня настроен сервер WSUS. Единственный способ установить это было
1) Regedit
2) Зайдите в Computer-> HKEY_LOCAL_MACHINE-> SOFTWARE-> Policies-> Microsoft-> Windows-> WindowsUpdate
3) Записал значения двух ключей: WUServer и WUStatusServer
4) Удалены / переименованы эти ключи
5) Остановлено и запущено WindowsUpdate
6) Добавлена функция .Net3.5
7) Поставил ключи обратно и перезапустил WindowsUpdate.
Я надеюсь, что это помогает
В Интернете есть много материалов по этому поводу, и большая часть из них обобщена в ответах здесь. Мы перепробовали все, но ничего не помогло. Даже при указании на различные копии папки sxs он все равно будет получать вариант ошибки «исходные файлы не найдены».
Я наконец указал на доля папки winsxs на другом полностью исправленном сервере у которого был .net 3.5 (c: \ windows \ winsxs), и он работал:
DISM /Online /Enable-Feature /FeatureName:NetFx3 /All /LimitAccess /Source:\\otherserver\winsxs
Моя теория заключается в том, что процесс установки искал исходные файлы, соответствующие текущим КБ на сервере. Я знаю, что есть и другие статьи, указывающие на удаление двух конкретных КБ, но они не отображаются в нашем списке установленных исправлений.
Также обратите внимание, что функции добавления / удаления не работали с этим общим ресурсом. Пришлось использовать DISM.
Когда команда DISM пропускает носитель, указанный в /Источник switch и ищет файлы в Интернете, это означает, что исходные файлы на указанном носителе либо повреждены, либо неприменимы к вашему серверу (несовпадение версий).
Код ошибки 0x800f0906 дополнительно подтверждает это поведение, как задокументировано Microsoft: https://technet.microsoft.com/en-us/library/dn482067.aspx
Лучше всего помочь в решении этой проблемы:
Если все вышеперечисленное не помогает, я настоятельно рекомендую вам предоставить журналы обслуживания DISM для дальнейшего устранения неполадок, но на этом этапе я бы больше склонялся к полной перестройке сервера.
Ваша команда DISM не находит требуемые ресурсы, потому что она проверяет источник "в сети". Windows 6.2+ (по умолчанию) будет проверять установку / восстановление компонентов только с сервером источника обновлений, если источник обновлений указан для службы обновления Windows.
Если вы не хотите настраивать сервер источника обновлений (обычно WSUS) в качестве источника для восстановления / установки компонентов, вы можете включить следующую групповую политику:
Конфигурация компьютера \ Административные шаблоны \ Система
Задайте настройки для установки дополнительных компонентов и ремонта компонентов
Обязательно отметьте эту опцию:
Обратитесь в Центр обновления Windows напрямую, чтобы загрузить материалы для восстановления вместо служб Windows Server Update Services (WSUS).
Убедитесь, что ваши исходные файлы полностью соответствуют вашей версии Windows.
Я потратил полдня, пытаясь использовать Server 2012 ISO для установки .NET35 на Server 2012 R2. Как только источник верен, команда DISM (из этого ответ) работает безотказно.
У меня была такая же проблема. Мое решение состояло в том, чтобы удалить сервер из Active Directory, установить .Net 3.5, а затем снова добавить в AD. Я уверен, что это связано с WSUS на каком-то уровне, но это решило проблему для нас. Мы просто устанавливаем 3.5 на всех серверах перед добавлением в домен.
Я смог решить эту проблему, используя мастер добавления функций диспетчера серверов и указав там альтернативный источник.
Получил эту информацию от http://www.danielclasson.com/install-net-framework-35-server-2012/
Вариант 1 у меня тоже не сработал, вариант 2 завершился успешно.