Москва: проверенные б/у ноутбуки с гарантией и проверкой перед оплатой
+7 906 722-94-45

Главная → Статьи → winget на ноутбуке: обновление программ без ручного скачивания установщиков

winget: как обновлять установленные программы на Windows и когда этого делать не стоит

Практическое руководство по winget: проверка версии, список обновлений, точечное и массовое обновление, закрепление версий, экспорт списка программ и ограничения инструмента.

winget: как обновлять установленные программы на Windows и когда этого делать не стоит

Коротко. winget — штатный менеджер пакетов Windows. Он входит в состав компонента App Installer, доступен на Windows 11 и современных версиях Windows 10 и умеет искать, устанавливать, обновлять и удалять программы одной командой. Главная практическая ценность — команда winget upgrade, которая показывает список установленных программ с доступными обновлениями. Но массовое winget upgrade --all — не универсальная кнопка «сделать безопасно»: часть программ нельзя обновлять без проверки лицензий, настроек и совместимости.

Ниже — рабочий сценарий: от проверки версии до закрепления важных версий и переноса списка программ на новый ноутбук.

Что такое winget и откуда он берётся

Windows Package Manager (winget) — клиент для работы с репозиториями пакетов. Основной источник — публичный репозиторий манифестов microsoft/winget-pkgs на GitHub, где каждый пакет описан идентификатором, версией, ссылкой на официальный установщик и контрольной суммой. Второй источник — Microsoft Store (msstore).

Ключевое: winget не хранит установщики у себя. Он скачивает файл с сайта производителя программы и запускает его с нужными ключами. Поэтому «winget-обновление» — это всё равно установка официального дистрибутива, просто автоматизированная.

Проверить наличие и версию:

winget --version

Если команда не найдена, обновите App Installer через Microsoft Store. На старых сборках Windows 10 и в урезанных корпоративных образах winget может отсутствовать.

Базовые команды

Команда Что делает
winget search <запрос> ищет пакет по имени
winget show --id <ID> показывает сведения о пакете и источнике
winget install --id <ID> -e устанавливает пакет по точному идентификатору
winget list список установленных программ, известных winget
winget upgrade список программ с доступными обновлениями
winget upgrade --id <ID> обновляет одну программу
winget upgrade --all обновляет всё, что найдено
winget uninstall --id <ID> удаляет пакет
winget export -o apps.json сохраняет список программ в JSON
winget import -i apps.json устанавливает программы из списка

Флаг -e (--exact) требует точного совпадения идентификатора — это защита от установки похожего пакета с почти таким же именем.

Безопасный порядок обновления

Не начинайте с --all. Рабочая последовательность:

  1. Посмотрите список.

    winget upgrade
    

    В таблице будут имя, идентификатор, текущая версия, доступная версия и источник. Программы с пометкой Unknown в текущей версии winget не может корректно определить — для них нужно решение вручную.

  2. Обновите одну программу и проверьте её работу.

    winget upgrade --id Mozilla.Firefox
    
  3. Повторите для остальных по одной, начиная с браузеров, архиваторов, средств просмотра PDF. Эти программы обновляются часто и обычно безопасно.

  4. Отложите то, что связано с работой, лицензиями и оборудованием: среды разработки, программы учёта, драйверы, средства резервного копирования, антивирусы сторонних производителей.

  5. Только после этого можно запускать массовое обновление — и то с оговорками из следующего раздела.

Массовое обновление и его риски

winget upgrade --all --include-unknown --accept-package-agreements --accept-source-agreements

Флаг --include-unknown добавляет программы, у которых не удалось определить установленную версию. Это удобно, но именно такие пакеты чаще всего обновляются «поверх» нестандартной установки.

Риски, о которых стоит знать:

  • Тихая установка. winget запускает установщик с ключами без интерфейса. Если программа ставилась с нестандартными параметрами, обновление может их сбросить.
  • Смена канала. Некоторые пакеты в репозитории ведут на другую редакцию программы (например, с бесплатной на пробную). Проверяйте winget show.
  • Лицензии. Обновление может потребовать новой активации или изменить условия использования.
  • Драйверы и firmware. Через winget они если и обновляются, то не заменяют официальные пакеты производителя ноутбука. Для драйверов используйте сайт OEM, как описано в разборе по Dell, HP и Lenovo.
  • Store-приложения. Они обновляются через Microsoft Store, а не через winget, даже если видны в списке.
  • Перезагрузка. Массовое обновление может потребовать перезагрузки в середине процесса; сохраните работу заранее.

Разумная практика для домашнего ноутбука — раз в месяц просматривать winget upgrade, обновлять браузеры и утилиты, а «тяжёлые» программы обновлять вручную и осознанно.

Закрепление версий: pin

Если новая версия программы ломает рабочий процесс, её можно закрепить, чтобы winget upgrade --all её не трогал.

winget pin add --id Some.Package
winget pin add --id Some.Package --version 2.1.* --blocking
winget pin list
winget pin remove --id Some.Package

Типы закрепления по документации:

Тип Поведение
Pinning (по умолчанию) исключает пакет из upgrade --all, но upgrade <package> работает
Blocking запрещает обновление и через --all, и точечно, пока pin не снят
Gating фиксирует версию или диапазон версий (например, 1.2.*)

Важно: pin действует только внутри winget. Программа может обновиться сама, через собственный автообновлятор или из Microsoft Store.

Перенос списка программ на новый ноутбук

Перед переустановкой системы или покупкой нового ноутбука сохраните список:

winget export -o C:\Backup\apps.json

На новой системе:

winget import -i C:\Backup\apps.json --accept-package-agreements --accept-source-agreements

Ограничения:

  • в список попадают только программы, известные winget;
  • версии по умолчанию не фиксируются — можно добавить --include-versions при экспорте;
  • программы, установленные вручную с сайтов, в список не попадут;
  • лицензии и настройки не переносятся.

Поэтому экспорт списка — дополнение к резервной копии, а не её замена. О подготовке к переустановке — в материале переустановка Windows 11 без потери данных.

Безопасность: что важно понимать

  • winget скачивает установщик по ссылке из манифеста. Манифесты проходят проверку в репозитории, но файл устанавливается с сайта производителя — это нормально и ожидаемо.
  • Установка обычно требует подтверждения UAC. Не отключайте UAC ради «удобства».
  • Команды --accept-package-agreements и --accept-source-agreements означают, что вы соглашаетесь с лицензиями без чтения. Для массовой установки это приемлемо, для незнакомых пакетов — нет.
  • Проверяйте идентификатор пакета: winget search может показать несколько похожих названий, а вредоносный пакет-двойник в публичном репозитории — редкость, но проверять Publisher в winget show полезно.

Чего winget не делает

Задача Инструмент
Обновления Windows Центр обновления Windows
Драйверы и BIOS сайт производителя ноутбука
Обновление Store-приложений Microsoft Store
Резервное копирование File History, OneDrive, сторонние утилиты
Управление лицензиями вручную, в самой программе
Чистка системы встроенные средства или специализированные утилиты

FAQ

winget — это официальный инструмент Microsoft?

Да. Windows Package Manager разрабатывается Microsoft и входит в состав App Installer. Репозиторий манифестов microsoft/winget-pkgs открыт на GitHub.

Почему winget не видит некоторые установленные программы?

Он находит только те программы, которые соответствуют известным манифестам и установлены стандартным способом. Portable-версии, программы с нестандартным установщиком и старые версии могут не отображаться.

Безопасно ли запускать winget upgrade --all?

Для браузеров и утилит — в большинстве случаев да. Для рабочих программ, сред разработки и всего, что связано с лицензиями или оборудованием, — нет. Массовое обновление экономит время, но лишает вас контроля над порядком и версиями.

Что делать, если после обновления программа перестала работать?

Проверьте winget list <имя> и версию. Если проблема в конкретной версии, удалите программу и установите предыдущую: winget install --id <ID> --version <версия>. Если версия недоступна в источнике, скачайте её с официального сайта.

Работает ли winget без интернета?

Нет, ему нужен доступ к источнику пакетов. Скачанные установщики winget не хранит в локальном кэше в том виде, в котором их можно переиспользовать.

Связанные материалы