WinGet (Windows Package Manager) - менеджер пакетов Windows
Содержание:
В этой публикации, друзья, рассмотрим WinGet (Windows Package Manager) - менеджер пакетов Windows. Его также называют диспетчером пакетов. Это консольный инструмент в Windows 10 и 11, работает с помощью командной строки или PowerShell. Позволяет устанавливать и обновлять программы и приложения, в том числе в пакетном режиме, а также удалять их. Работает аналогично менеджерам пакетов в Linux. Не всем, конечно, WinGet нужен, но отдельным опытным пользователям и системщикам организаций может предложить автоматизацию установки и обновления софта.
↑ WinGet (Windows Package Manager) - менеджер пакетов Windows
↑ Что такое WinGet
Для упрощения установки и обновления софта в Windows 10 и 11 есть магазин Microsoft Store. В нём можно централизовано устанавливать и обновлять современные UWP-приложения, в том числе пакетно. Все наши приложения из магазина могут синхронизироваться при использовании функции синхронизации настроек и данных компьютера. И мы сможем оперативно, в пакетном режиме установить свои приложения при новой установке операционной системы. Плюс к этому, в Microsoft Store можно устанавливать некоторые классические программы Win32. Microsoft Store – это инструмент-минимум, в нём есть не весь нужный нам софт, тем не менее многим из пользователей хватит возможностей магазина. Не весь возможный Windows-софт может предложить и WinGet, но всё же у последнего ассортимент побольше, чем у магазина.
WinGet – это менеджер пакетов в составе Windows 10 и Windows 11. И это проект с открытым исходным кодом на GitHub, поддерживаемый компанией Microsoft. Менеджер пакетов – это программа для управления программами, которая может их искать, устанавливать, обновлять, удалять. И мы, пользователи все эти задачи можем выполнять централизовано, в одном месте. И, что немаловажно, менеджеры пакетов – это установка софта из надёжных источников, а, соответственно, для нас это гарантия безопасности.
WinGet – это простота установки софта для тех, кто привык работать с консольными командами. Вместо поиска источника скачивания программы, самого процесса скачивания, установки с прохождением разных этапов, можно просто ввести в консоль определённую команду, и программа тихо установится в фоне с теми же стандартными предустановками, которые мы по большей части не меняем.
Как любой менеджер пакетов, Winget работает с источниками установки софта. Изначально это Microsoft Store и репозиторий, поддерживаемый компанией Microsoft - Microsoft Community Repository. Последний предоставляет данные о доступных программах сторонних разработчиков и обеспечивает скачивание дистрибутива с официальных сайтов таких программ.
При необходимости можно подключить сторонние репозитории.
С помощью WinGet можно установить широкий спектр ПО - для работы, развлечений, творчества, обучения и много другого. Репозиторий WinGet постоянно расширяется, на данный момент содержит более 30 тыс. программ.
WinGet предустановлен в Windows 10 (начиная с версии 1709) и Windows 11. Проверить его установку можно, запустив в терминале Windows 11, командной строке или PowerShell команду:
winget
Если WinGet установлен, увидим описание WinGet и перечень команд для работы с ним.
В старых версиях Windows 10 или кастомных Windows 10 и 11, из которых, возможно, WinGet вырезан, установить его можно, скачав установщик с GitHub.
↑ Как пользоваться WinGet
Начать работу с WinGet можем с получения списка установленных на компьютере программ. В терминал Windows 11, командную строку или PowerShell вводим команду:
winget list
В ответ получим перечень установленных программ и приложений с указанием их ИД, версии текущей и доступной для обновления. Также перечень будет содержать указание на источник программы или приложения. В каких-то случаях источника не будет, это значит, что программы или приложения нет в Microsoft Store и репозитории Microsoft Community Repository. В каких-то случаях источником будет msstore, т.е. магазин Microsoft Store. А в каких-то случаях источником будет winget, т.е. репозиторий Microsoft Community Repository. Программы и приложения, для которых указан источник msstore или winget, можно устанавливать и обновлять с помощью WinGet. Программы и приложения, для которых источник не указан, можно только удалить.
Для удаления программы или приложения используем команду по типу:
winget uninstall MicrosoftTeams_8wekyb3d8bbwe
Где вместо MicrosoftTeams_8wekyb3d8bbwe каждый подставляет идентификатор своего софта.
В приведённом примере мы удалили приложение Microsoft Teams, но вновь с использованием этого же идентификатора приложение может не установится. Для установки программ и приложений с помощью WinGet сначала необходимо выполнить поиск по ключевому слову. Например, мы снова хотим установить Microsoft Teams. И мы будем искать его по ключевому слову «Teams». Вводим команду:
winget search Teams
Где Teams – это ключевое слово, и вместо него каждый подставляет своё. Получаем перечень доступных для установки с помощью WinGet программ и приложений по этому ключевому слову. Смотрим, где наше приложение Microsoft Teams в этом перечне. Копируем его идентификатор в этом перечне.
И устанавливаем приложение командной с использованием этого идентификатора:
winget install Microsoft.Teams
В этой команде вместо Microsoft Teams каждый подставляет свой идентификатор устанавливаемого софта.
Из интересных возможностей WinGet – пакетное обновление софта. Вводим команду:
winget upgrade --all
Запустится установка обновлений программ и приложений. Можем посмотреть, что за софт WinGet сейчас нам обновит.
Заблокировать обновление определённых программ и приложений, чтобы они были исключены из пакетного обновления, можно командной по типу:
winget pin add Google.Chrome –blocking
Где вместо Google.Chrome каждый подставляет свой софт.
↑ Пакетная установка софта с помощью WinGet
Друзья, WinGet примечателен возможностью пакетной установки программ.
Можем выполнить экспорт списка установленного софта, команда:
winget export -o D:\app.json
Где D:\app.json – это файл и путь сохранения списка, у каждого свой.
Затем можем выполнить пакетную установку софта из этого экспортированного списка, команда:
winget import -i D:\app.json --accept-source-agreements --accept-package-agreements --ignore-unavailable
Где D:\app.json – это файл и путь экспортированного списка софта, у каждого свой. В команду добавлены аргументы, решающие вопросы с принятием лицензии софта и игнором версий софта, чтобы были установлены самые свежие версии.
Ещё можем выполнить пакетную установку софта, создав скрипт с указанием идентификаторов нужных нам программ и приложений. В блокнот Windows вписываем команду по типу:
winget install --id=TechPowerUp.GPU-Z -e && winget install --id=Google.Chrome -e && winget install --id=Viber.Viber -e &&
Где TechPowerUp.GPU, Google.Chrome, Viber.Viber – это идентификаторы программ и приложений, и каждый подставляет вместо них свои.
Далее файл в блокноте сохраняем под любым именем с расширением .bat. И запускаем созданный батник.
↑ Больше команд WinGet
Друзья, мы рассмотрели только ключевые возможности и команды WinGet. Больше возможностей, больше команд менеджера пакетов получим на ресурсе документации Microsoft.
↑ Графический интерфейс для WinGet
Если возможности WinGet вас заинтересовали, но вы не любитель консолей, можете работать с менеджером пакетов с использованием графического интерфейса. Таковой реализует программа WingetUI. И ещё есть утилита UpdateHub, работающая в связке с WinGet, она предлагает комплексное обновление программ, приложений и самой Windows.