пятница, 26 марта 2021 г.

Windows 10: установка .NET Framework 3.5

Время идёт, когда-то разбирался, как поставить Microsoft NET Framework 3.5 на Windows 8, теперь вот подошел черёд Windows 10. Для неё, насколько я знаю, отдельного установщика нет, всё делается через включение-отключение компонентов. Однако попытка сделать это штатным образом через "Панель управления" -> "Добавление компонентов Windows" привела к ошибке "0x80244022". Помогла правка реестра: найти параметр HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU\UseWUServer, сменить значение с 1 на 0 и перезапустить Центр обновления Windows командами:

net stop wuauserv
net start wuauserv

После этой правки команда установки фреймворка тяжко задумалась на полчаса, но в конце концов отработала штатно:

DISM /Online /Enable-Feature /FeatureName:NetFx3 /All


Правда, стоит отметить, что ситуация была не очень стандартная: компьютер в локальной сети, у которой нет прямого выхода в большой Интернет, поэтому всё общение с внешним миром идёт через прокси. Чтобы Центр обновления этот самый прокси увидел, нужно его прописать:

netsh winhttp set proxy proxy-server="http=12.34.56.78:90"

или:

netsh winhttp set proxy proxy-server="socks=12.34.56.78:90"

или просто взять настройки прокси интернет эксплорера:

netsh winhttp import proxy source =ie

Когда прокси будет не нужен, его можно убрать командой:

netsh winhttp reset proxy


Если же с настройками прокси накосячить, то wuauserv зависает наглухо и на попытки остановить соответствующую службу не реагирует. В этом случае приходится процесс принудительно завершать. Делается это так.

Узнаём PID (идентификатор) процесса командой:

sc queryex wuauserv

Прибиваем процесс командой:

taskkill /PID 123456 /F


Вообще, команды tasklist и taskkill оказались довольно интересными. Например, при помощи tasklist можно решить обратную задачу - найти по PID имя процесса:

tasklist /FI "pid eq 123456"

или отфильтровать вывод по имени образа:

tasklist /FI "imagename eq iexplore.exe"

или получить информацию о службе:

tasklist /FI "services eq wuauserv"

или посмотреть все зависшие процессы:

tasklist /FI "status eq not responding"

короче, масса полезных свойств.


Литература:

Deploy .NET Framework 3.5 by using Deployment Image Servicing and Management (DISM)
Killing a Windows Service that Hangs on Stopping or Not Responding
https://winitpro.ru/index.php/2017/08/10/oshibka-0x80244022-i-problema-ostanovki-wsuspool/
Исправление ошибки обновлений с кодом 80244022 в Windows 7
Как клиент Windows Update определяет, какой прокси-сервер использовать для подключения к веб-узлу Windows Update

UPD 2023-01-25: При ошибке 0x800f0954 помогло прописывание параметра в реестре:

[HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU]
"UseWUServer"=dword:00000000

Комментариев нет:

Отправить комментарий