Установка WinGet Windows Package Manager (Менеджер пакетов)
- Что такое менеджер или диспетчер пакетов winget (Windows Package Manager) ?
- Способы установить WinGet Windows Package Manager в Windows 10
- Установка менеджера пакета WinGet через Microsoft Store
- Установка менеджера пакета WinGet через GitHub и PowerShell
- Основные ключи winget
- Как установить программное обеспечение с помощью диспетчера пакетов Windows
- Как обновить приложения с помощью команды winget в Windows 11
- WingetUI - графический интерфейс для менеджера пакетов
- Как использовать winget в скриптах
- Пример скрипта установки приложений через Winget для командной строки Windows
- Пример скрипта установки приложений через Winget для PowerShell
- Пример импорта Json
- Запуск скрипта по установке приложений через менеджер пакетов Windows
- Дополнительные источники
Добрый день! Уважаемые читатели и гости одного из крупнейших IT блогов в рунете Pyatilistnik.org. В прошлый раз мы с вами успешно разобрали утилиту по диагностике Active Directory под названием repadmin. Идем далее и сегодня я вам покажу, как производится установка пакетного менеджера Microsoft winget (Windows Package Manager). Рассмотрим список команд Winget и как их можно использовать в повседневной жизни. Все проделывать буду на Windows 10.
Что такое менеджер или диспетчер пакетов winget (Windows Package Manager) ?
Разработчики Windows уже давно с завистью смотрят на избыток менеджеров пакетов в Linux. Наличие простого инструмента командной строки, такого как apt или rpm, который установит приложение и все его необходимые компоненты, упрощает установку цепочки инструментов. Все, что вам нужно, это сценарий, который объединяет в цепочку список инструментов.
Такого никогда не было в средах Microsoft, по крайней мере, до появления шаблонов Azure CLI и ARM. Но они предназначены только для облака или для управляемых систем Azure Arc. Они работают на более высоком уровне, чем инструменты, устанавливающие редактор, служебную программу или компилятор, обеспечивая полную инфраструктуру. У пользователей Windows был выбор стороннего Chocolatey, основанного на PowerShell и работающего с собственными установщиками Windows, но это не шло из коробки.
В течение долгого времени люди просили встроенный диспетчер пакетов в Windows и Microsoft Build Microsoft создала версию диспетчера пакетов Windows под названием WinGet. Менеджер пакетов может помочь вам сэкономить время и быстро установить программное обеспечение и инструменты на ваш компьютер. Разработчики и ИТ-специалисты давно хотели иметь собственный менеджер пакетов в Windows, и с WinGet вы это получите.
WinGet.exe - Это утилита командной строки, позволяющая вам скачивать и устанавливать огромное количество программ, со всеми зависимостями прямо у командной строки, не тратя время на поиски официальных сайтов и тому подобное. С помощью Windows Package Manager вы просто вводите простую команду и дело пошло, все можно заскриптовать и автоматизировать, главное наличие интернета.
Winget, это также первая итерация встроенного диспетчера пакетов для Windows, тесно связанная с различными альтернативами и с открытым исходным кодом, особенно с AppGet. Он публикуется на GitHub. Он имеет архитектуру, аналогичную большинству менеджеров пакетов, с использованием манифестов для описания приложений и их требований, с центральным управляемым репозиторием для манифестов, каждый из которых ссылается на сайты загрузки для установщиков приложений.
Способы установить WinGet Windows Package Manager в Windows 10
Для того, что получить и установить Windows Package Manager 1.0 и выше вам необходимо выполнить одно из требований:
- Либо быть зарегистрированным и иметь сборку Windows Insider или иметь Windows 10 1809 и выше
- Диспетчер пакетов Windows распространяется вместе с установщиком приложений из Microsoft Store
- Установить Windows Package Manager можно через Windows Terminal
- Установить WinGet можно через репозиторий на GitHub
Установка менеджера пакета WinGet через Microsoft Store
Данный метод очень простой, тут будет использоваться установщик приложения. Microsoft App Installer для Windows 10 существенно упрощает загрузку неопубликованных приложений для Windows 10. Перейдите на страницу с Microsoft App Installer.
В правой части страницы нажмите "Получить"
Далее подтвердите, что подтверждаете открытие данного приложения через Microsoft Store
Если у вас выскакивает ошибка при скачивании Microsoft App Installer, то нужно посмотреть причину в подробных сведениях. Если проблем нет, то Microsoft App Installer установится без проблем.
В итоге Microsoft App Installer жалуется, что центр обновления Windows отключен.
Установка менеджера пакета WinGet через GitHub и PowerShell
Как я и писал выше весь открытый код Winget выложен на портале GitHub. Суть установки WinGet заключается в том, что необходимо скачать и установить appxbundle пакет. Для этого перейдите по ссылке, где есть список всех релизов и версий:
На момент написания статьи актуальной версией является Windows Package Manager v1.0.11451. Снизу вы увидите список доступных файлов, Microsoft.DesktopAppInstaller_8wekyb3d8bbwe.appxbundle это и есть сам пакет с утилитой WinGet.
Далее вы просто щелкаете по данному пакету и устанавливаете его. Вас уведомят, хотите ли вы обновить установщик приложений, ответьте да.
Начнется процесс обновления. Дожидаемся окончания и можем использовать WinGet.
Давайте я покажу, как с помощью PowerShell можно скачать данный пакет и установить его. Откройте PowerShell от имени администратора и введите:
Add-AppxPackage "C:\Temp\WinGet.appxbundle"
Первая команда начинает скачивание пакета Microsoft.DesktopAppInstaller_8wekyb3d8bbwe.appxbundle, убедитесь, что у вас создана папка для загрузки.
Далее команда распаковывает пакет и добавляет утилиту WinGet.
На этом установка менеджера пакетов WinGet Windows Package Manager завершена.
Основные ключи winget
Перед тем, как мы разберем установку программ через менеджер пакетов Windows я вам покажу основные ключи, которые будут фигурировать в командах. Запустите командную строку или powerShell, где введите:
- install - Установка указанного пакета
- show - Показывает сведения о пакете
- source - Управление источниками пакетов
- search - Поиск и отображение базовых сведений о пакетах
- list - Отображать установленные пакеты
- upgrade - Обновление указанного пакета
- uninstall - Удаление указанного пакета
- hash - Вспомогательное приложение для хэширования файлов установщика
- validate - Утверждает файл манифеста
- settings - Открыть параметры
- features - Показывает состояние экспериментальных компонентов
- export - Экспортирует список установленных пакетов
- import - Устанавливает все пакеты в файле
- upgrade - Обновление приложений
Ключи третьего уровня
- -v,--version - Отобразить версию инструмента
- --info - Отображать общие сведения об инструменте
- --silent - Тихая установка
- -e, --exact - Ищет точное совпадение со строкой в запросе, выполняя при этом проверку на учет регистра. Поведение по умолчанию для подстроки не используется
- -i, --interactive - Запускает установщик в интерактивном режиме. При взаимодействии по умолчанию отображается ход выполнения установщика.
- -h, --silent - Запускает установщик в автоматическом режиме. Блокирует весь пользовательский интерфейс. При взаимодействии по умолчанию отображается ход выполнения установщика.
- -o, --log - Направляет данные журнала в файл журнала. Необходимо указать путь к файлу, для которого у вас есть права на запись.
Как установить программное обеспечение с помощью диспетчера пакетов Windows
Теперь вы можете начать использовать winget для установки огромного количества программ, сильно ускорив этот процесс, а дальше я покажу, как это еще и автоматизировать скриптами.
- Первое, что вы должны сделать, это вывести список всех установленных. Сделать это можно через команду:
На выходе вы получите список содержащий: имя, ID и версию установленного пакета.
Обратите внимание, что тут будут перечислены все приложения, которые вы видите и в оснастке "Программы и компоненты", для примера я вывел отдельной командой этот же список для сравнения.
- Теперь давайте посмотрим список доступных пакетов, через команду:
Вы увидите огромный список
- Чтобы произвести поиск по ключевому слову во всем списке пакетов, вам нужно воспользоваться ключом search. Я буду искать например "Google" или "Telegram Desktop". Введите:
В результате вы получите все пакеты с ключевым словом "Google". Мне интересен Google Chrome и его версия Canary.
- У вас может возникнуть потребность более подробно посмотреть содержимое пакета с его метаданными, кто его разработчик, версия и все в таком духе, для этого выполните:
Обратите внимание, что можно использовать как имя пакета, так и его ID. Полезной информации будет много.
Version: 68.94.77
Publisher: Google LLC
Author: Google LLC
Moniker: googlechrome
Description: A fast, secure, and free web browser built for the modern web. Chrome syncs bookmarks across all your devices, fills out forms automatically, and so much more.
Homepage: https://www.google.com/chrome
License: Proprietary freeware, based on open source components
License Url: https://www.google.com/chrome/terms/
Installer:
Type: Msi
Locale: en-US
Download Url: https://dl.google.com/edgedl/chrome/install/GoogleChromeStandaloneEnterprise64.msi
SHA256: 90a3f62e77fbaf7e11e37bd12016414a5bcf7993f6f93dd0d7d3d497071c0a53
- Процесс установки приложения через Winget. Тут все просто, в менеджере пакетов Windows есть ключ install, структура будет такой:
Начнется подключение к репозиторию Microsoft и скачивание пакета Google Chrome.
После чего появится окно с установкой Google Chrome
Дожидаемся окончания установки. Проверяем, что приложение появилось в списке.
- Если хотите установить несколько приложений сразу, то вот пример команды, устанавливающей "VLC media player" и "Telegram Desktop". Команда будет выглядеть вот так:
Как видите все успешно отработало и в списке приложений все появилось.
Проверим наши приложения в меню пуск.
- При желании вы можете экспортировать список пакетов, которые у вас установлены в JSON файл, чтобы потом его можно было импортировать. Если вам это нужно вот пример команды:
Бывает, так что некоторые пакеты не могут быть экспортируемы и будут писать "Установленный пакет недоступен из любого источника".
Как обновить приложения с помощью команды winget в Windows 11
В Windows 11 (и других версиях, где есть утилита) вы можете быстро обновить одно или все свои приложения одной команды с помощью инструмента командной строки Windows Package Manager (winget) без необходимости использования Microsoft Store.
Чтобы посмотреть, что вы можете обновить через Winget, вам нужно ввести команду:
В результате вы получите список программного обеспечения, что подходит под наш запрос.
- ✅Для того, чтобы обновить одно приложение вы можете воспользоваться вот такой конструкцией:
В команде измените APP-ID на идентификатор приложения (ИД) для установки в Windows 11. Параметр -h
автоматически запускает установщик, скрывая весь пользовательский интерфейс. Однако, если требуется повышение прав, вы все равно получите подсказку. Например я хочу обновить "PowerShell 7-64", для этого моя команда будет выглядеть вот так:
После выполнения этих шагов приложение будет обновлено до последней версии, доступной в репозитории диспетчера пакетов Windows. Обратите внимание, что был скачал дистрибутив по прямой ссылке. Ранее было 6 доступных обновлений, теперь 5.
- ✅Для того, чтобы обновить все приложения за один раз вы можете воспользоваться вот такой конструкцией.
После выполнения этих шагов инструмент winget загрузит и установит обновления для всех приложений, установленных в Windows 11.
- -v, --version - Позволяет указать точную версию для обновления. Если параметр не задан, будет обновлено приложение с наибольшим номером версии.
- --name - Ограничивает поиск приложением с определенным именем.
- -i, --interactive - Запускает установщик в интерактивном режиме. При взаимодействии по умолчанию отображается ход выполнения установщика.
- --force - При обнаружении несоответствия хэша команда проигнорирует ошибку и попытается установить пакет.
- --include-unknown - Обновляет пакеты, даже если их текущую версию невозможно определить.
WingetUI - графический интерфейс для менеджера пакетов
Для тех кто привык к графическому интерфейсу, но хочет использовать современный функционал Windows, есть бесплатная, сторонняя утилита WingetUI, она и предоставляет графический интерфейс для работы с winget. WingetUI весит 44 МБ и потребует от вас простой установки в виде стандартного мастера. Что умеет WingetUI:
- Возможность установки пакетов из Scoop и Winget (идея в том, чтобы в будущем добавить больше менеджеров пакетов).
- Возможность обновлять и удалять ранее установленные пакеты, а также удалять локальные приложения для ПК!
- Возможность как импортировать, так и экспортировать пакеты по вашему выбору, чтобы вы могли легко установить их в будущем.
- Пользователю не нужно устанавливать какие-либо менеджеры пакетов. (Хотя в приложении есть возможность установить Scoop!)
- Включает поддержку управления бакетами Scoop.
- Пользователь может выбрать версию любого конкретного приложения, которую он хочет установить.
- Пользователь будет уведомлен об успешном завершении установки/обновления/удаления приложения.
- Возможность ставить установки в очередь для предотвращения конфликтов.
- Доступна темная тема, чтобы вы не обжигали глаза.
- Возможность отображать информацию о пакете (например, его лицензию, хэш SHA256, домашнюю страницу и т. д.) перед установкой.
- Доступно более 6800 пакетов!
- Дополнительные функции появятся в будущем!
Согласитесь, что список достоинств не маленький, самый правильный метод быстро поставить WingetUI, это использовать сам же Winget.
Или можете скачать автономный установщик по ссылке проекта:
После установки запустите WingetUI. Интерфейс будет очень простым и интуитивно понятным.
- В правой части есть поле поиска, укажите в нем нужный вам пакет, пусть в моем примере это будет пакет Process Explorer от Sysinternals.
- Выберите нужный пакет. Обратите внимание на значки операций, которые доступны вам, они так же есть и в контекстном меню, через правый клик.
- Для получения деталей пакета вы можете выбрать опцию "Показать информацию".
- Тут вы найдете издателя, автора, домашнюю страницу, версии, можете сразу отсюда установить, при необходимости от имени администратора.
На вкладке "Обновление программ" вы получите список пакетов, которые вы можете обновить с помощью WingetUI.
Установленные пакеты вы можете найти на соответствующей вкладке.
Как видите утилита очень простая и отлично выступает в виде графической надстройки над менеджером пакетов Winget.
Как использовать winget в скриптах
Логично представить, что если это утилита командной строки или PowerShell, то можно написать скрипт, который вы сами будите запускать на чистой системе или через автозапуск Windows, вам главное чтобы без вашего участия был установлен весь набор софта. для корпоративных компьютеров, это вообще отличное решение, так как установка программ через GPO не всегда возможна, а SCCM есть не у всех.
Самое классное, что если вы еще не разбираетесь в PowerShell, то вы легко можете все равно написать скрипт. Для этого есть отличный интернет ресурс:
winstall - это по сути графический режим для пакетного менеджера Windows Winget. Ресурс имеет огромную базу пакетов, которая присутствует в winget и позволяет вам выбрать их нужное количество, после чего сформировать простой скрипт на PowerShell.
- Первым делом вам необходимо через поиск найти нужные вам пакеты. Пускай в моем примере, это будут: "VLC media player", "Telegram Desktop", "Google Chrome", "Mozilla Firefox".
- Далее, когда вы выбрали все необходимые пакеты, вам необходимо просто нажать кнопку "Generate Script"
- В результате этих простых действий вам будет подготовлено три сценария: bat скрипт для командной строки, скрипт PowerShell и файл для импорта в Winget.
- Далее вам остается просто запустить нужный файл в вашей системе.
Пример скрипта установки приложений через Winget для командной строки Windows
Пример скрипта установки приложений через Winget для PowerShell
Пример импорта Json
Запуск скрипта по установке приложений через менеджер пакетов Windows
Запускать скрипт нужно от имени администратора, если м говорим про сценарий PowerShell, то вам может потребоваться разрешить запуск неподписанных скриптов, иначе может быть ошибка, если не хотите разрешать, то можете конвертировать файл ps1 в exe, это исправит проблему или же запускать его через групповые политики, перед запуском компьютера.
На этом у меня все, мы с вами разобрали пакетный менеджер Windows Winget. С вами был Иван Семин, автор и создатель IT портала Pyatilistnik.org.
Дополнительные источники
- https://learn.microsoft.com/ru-ru/windows/package-manager/winget/upgrade