winget не работает в Windows 10/11: источники недоступны, пакеты не находятся — как починить (2025)
Открываете терминал, пишете winget — и в ответ ошибки: источник не обновляется, пакет не находится, или хэш не совпадает. Давайте пройдёмся по проверенному порядку: App Installer, источники, сетевые службы, политики и полный сброс, если понадобится.
Коротко: что проверить
- Версия winget актуальна:
winget --info. - Приложение «App Installer» установлено и обновлено через Microsoft Store.
- Службы BITS и Delivery Optimization запущены.
- Дата и время точные — сертификаты иначе не сходятся.
1) Обновляем App Installer (вместе с winget)
Откройте Microsoft Store → «Библиотека» → «Обновить всё». Либо поставьте из официального магазина «App Installer».
Ссылка на официальный источник: App Installer в Microsoft Store.
Командная строка/PowerShell — по одной:
winget --info
winget upgrade --all
2) Источники: сброс и повторное добавление
Если видите «Source is not available» или «Failed to update source», сбросим источники и добавим заново.
PowerShell/Терминал — по одной строке:
winget source list
winget source reset --force
winget source add --name winget --arg https://cdn.winget.microsoft.com/cache
winget source add --name msstore --arg https://storeedgefd.dsx.mp.microsoft.com/v9.0
winget source update
Если ругается на дубликат — удалите конфликтующий источник и добавьте заново.
3) BITS и Delivery Optimization
Для загрузки пакетов нужны фоновые службы.
PowerShell (Администратор) — по одной строке:
Get-Service BITS, DoSvc | Set-Service -StartupType Automatic
Start-Service BITS
Start-Service DoSvc
4) Политики и кэш
Сбросим настройки winget и очистим кэш.
PowerShell — вставить целиком:
$p1 = "$env:LOCALAPPDATA\Packages\Microsoft.DesktopAppInstaller_8wekyb3d8bbwe\LocalState"
$r = "$p1\settings.json"
if(Test-Path $r){{ Copy-Item $r "$r.bak" -Force }}
Remove-Item "$p1\*Cache*" -Recurse -Force -ErrorAction SilentlyContinue
Remove-Item "$p1\Source*" -Recurse -Force -ErrorAction SilentlyContinue
# Пересоздаём дефолтные источники
winget source reset --force
winget source update
5) Ошибка хэша/подписи установщика
Такое случается, когда манифест устарел. Попробуйте установить пакет напрямую по ID из Microsoft Store или с сайта разработчика.
Терминал — по одной строке:
winget show --id Microsoft.PowerToys
winget install --id Microsoft.PowerToys
6) Диагностика
PowerShell — по одной строке:
winget --info
winget source list
Get-Date
Get-Service BITS, DoSvc | Format-Table Name, Status, StartType
FAQ
Ошибка «Store unavailable»
Проверьте, открывается ли сам Microsoft Store и учётная запись в нём. Затем обновите App Installer.
Не ставится пакет из msstore по ID.
Некоторые пакеты доступны только для регионов/учётных записей. Попробуйте альтернативный источник у разработчика.