Windows Package Manager — менеджер пакетов от Microsoft, позволяющий устанавливать десктопные программы из репозиториев
Windows Package Manager — менеджер пакетов от Microsoft, позволяющий устанавливать десктопные программы из репозиториев
Добрый день! Уважаемые читатели и гости одного из крупнейших 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 от имени администратора и введите:
Первая команда начинает скачивание пакета 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 — Устанавливает все пакеты в файле
Ключи третьего уровня
- -v,—version — Отобразить версию инструмента
- —info — Отображать общие сведения об инструменте
- —silent — Тихая установка
- -e, —exact — Ищет точное совпадение со строкой в запросе, выполняя при этом проверку на учет регистра. Поведение по умолчанию для подстроки не используется
- -i, —interactive — Запускает установщик в интерактивном режиме. При взаимодействии по умолчанию отображается ход выполнения установщика.
- -h, —silent — Запускает установщик в автоматическом режиме. Блокирует весь пользовательский интерфейс. При взаимодействии по умолчанию отображается ход выполнения установщика.
- -o, —log — Направляет данные журнала в файл журнала. Необходимо указать путь к файлу, для которого у вас есть права на запись.
Как установить программное обеспечение с помощью диспетчера пакетов Windows
Теперь вы можете начать использовать winget для установки огромного количества программ, сильно ускорив этот процесс, а дальше я покажу, как это еще и автоматизировать скриптами.
- Первое, что вы должны сделать, это вывести список всех установленных. Сделать это можно через команду:
На выходе вы получите список содержащий: имя, ID и версию установленного пакета.
Обратите внимание, что тут будут перечислены все приложения, которые вы видите и в оснастке «Программы и компоненты«, для примера я вывел отдельной командой этот же список для сравнения.
- Теперь давайте посмотрим список доступных пакетов, через команду:
Вы увидите огромный список
- Чтобы произвести поиск по ключевому слову во всем списке пакетов, вам нужно воспользоваться ключом search. Я буду искать например «Google» или «Telegram Desktop». Введите:
В результате вы получите все пакеты с ключевым словом «Google». Мне интересен Google Chrome и его версия Canary.
- У вас может возникнуть потребность более подробно посмотреть содержимое пакета с его метаданными, кто его разработчик, версия и все в таком духе, для этого выполните:
Обратите внимание, что можно использовать как имя пакета, так и его ID. Полезной информации будет много.
- Процесс установки приложения через Winget. Тут все просто, в менеджере пакетов Windows есть ключ install, структура будет такой:
Начнется подключение к репозиторию Microsoft и скачивание пакета Google Chrome.
После чего появится окно с установкой Google Chrome
Дожидаемся окончания установки. Проверяем, что приложение появилось в списке.
- Если хотите установить несколько приложений сразу, то вот пример команды, устанавливающей «VLC media player» и «Telegram Desktop». Команда будет выглядеть вот так:
Как видите все успешно отработало и в списке приложений все появилось.
Проверим наши приложения в меню пуск.
- При желании вы можете экспортировать список пакетов, которые у вас установлены в JSON файл, чтобы потом его можно было импортировать. Если вам это нужно вот пример команды:
Бывает, так что некоторые пакеты не могут быть экспортируемы и будут писать «Установленный пакет недоступен из любого источника».
Как использовать 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.
- Далее вам остается просто запустить нужный файл в вашей системе.
Представляем Windows Package Manager 1.0
Мы начали путь к созданию собственного диспетчера пакетов для Windows 10, когда анонсировали предварительную версию диспетчера пакетов Windows на Microsoft Build 2020. Мы выпустили проект на GitHub как совместный с открытым исходным кодом, и участие сообщества было очень важным аспектом! И вот недавно прошла конференция Microsoft Build 2021.
И мы рады объявить о выпуске Windows Package Manager 1.0! Подробности под катом!
Клиент
Клиент winget — это основной инструмент, который вы будете использовать для управления пакетами на вашем компьютере. На изображении ниже показан winget, выполненный в Терминале Windows через PowerShell. Вы можете увидеть список доступных команд, используемых для управления пакетами и работы с манифестами. Вы можете искать пакет (поиск находит по имени, моникеру и тегам) с помощью winget search vscode. Установить что-либо на свой компьютер так же просто, как winget install PowerToys. Вы можете проверить обновления пакетов с помощью winget upgrade или просто обновить все с помощью winget upgrade —all. Вы настраиваете новую машину? Убедитесь, что winget export packages.json на вашем текущем компьютере (и скопируйте файл на новый компьютер), чтобы вы могли импортировать файл packages.json на новом компьютере. С winget list вы можете увидеть все, что установлено, в «Установка и удаление программ», и вы можете winget uninstall , чтобы удалить его из вашей системы. Вы можете узнать больше о командах и синтаксисе в нашей документации.
Как мне это получить?
Если вы используете любую текущую сборку Windows Insider или подписались на группу Windows Package Manager Insider, возможно, она у вас уже есть. Диспетчер пакетов Windows распространяется вместе с установщиком приложений из Microsoft Store. Вы также можете загрузить и установить диспетчер пакетов Windows со страницы выпусков GitHub или просто установить последнюю доступную версию.
Версия 1.0 диспетчера пакетов Windows скоро будет поставляться в виде автоматического обновления через Microsoft Store для всех устройств под управлением Windows 10 версии 1809 и более поздних версий. Если вы являетесь ИТ-специалистом, мы опубликовали информацию об управлении диспетчером пакетов Windows с помощью групповой политики. Пользователи смогут определить, какие политики действуют, выполнив winget —info.
Репозиторий сообщества Microsoft
Сообщество внесло более 1400 уникальных пакетов в репозиторий сообщества Microsoft! Вы можете winget search , чтобы узнать, доступен ли пакет. Нас до сих пор поражает, сколько замечательных программ для Windows 10 есть в репозитории. Если поиск не дает никаких результатов, вы можете выполнить процесс, чтобы запустить Edge и выполнить поиск загрузки установщика программного обеспечения. Как только вы найдете его, вы можете добавить его в репозиторий сообщества, чтобы вам не пришлось снова проходить этот процесс. Написав десятки манифестов вручную, мы поняли, что для этого должен быть инструмент.
Windows Package Manager Manifest Creator Preview
Мы также выпускаем еще один инструмент с открытым исходным кодом, который поможет отправлять пакеты в репозиторий сообщества Microsoft. Откройте свой любимый интерфейс командной строки и выполните winget install wingetcreate, чтобы установить создатель манифеста диспетчера пакетов Windows (Windows Package Manager Manifest Creator Preview). После установки инструмента выполните wingetcreate new и укажите URL-адрес установщика. Затем инструмент загрузит установщик, проанализирует его, чтобы определить любые значения манифеста, доступные в установщике, и проведет вас через процесс создания действительного манифеста. Если вы предоставите свои учетные данные GitHub при появлении запроса, он даже создаст ветвь репозитория, создаст новую ветку, отправит pull request и предоставит вам URL-адрес для отслеживания его прогресса. На изображении ниже показано, как wingetcreate выполняется в Терминале Windows через PowerShell.
Приватные репозитории
И последнее, но не менее важное: мы выпустили эталонную реализацию для источника REST API, чтобы вы могли разместить свой собственный частный репозиторий. Это новый тип источника для диспетчера пакетов Windows. Нашим источником по умолчанию является пакет «PreIndexed», поставляемый через Microsoft Store, но вы можете добавить дополнительные источники на основе REST, если они правильно реализуют схему REST API на основе JSON.
Winget — диспетчер пакетов для Windows 10
Microsoft выпустила новый диспетчер пакетов для Windows 10 — winget и, уверен, многих из тех, кто уже пользовался аналогичными способами установки программ, это обрадует. Для тех, кто не знаком с концепцией, новая возможность может оказаться интересной.
В этом обзоре о том, как пользоваться диспетчером (менеджером) пакетов winget в Windows 10, ну и, для начинающих пользователей — о том, что это такое и почему такая возможность может быть удобной.
Что такое менеджер или диспетчер пакетов winget (Windows Package Manager)
Менеджеры (или диспетчеры) пакетов — обычное дело для Linux и позволяют скачивать, устанавливать последние версии программ и обновлять их без поиска официальных сайтов и ручной загрузки, а с помощью простых команд (при этом будут загружаться именно последние версии ПО из официальных источников). Теперь это можно выполнить и в Windows 10.
Впрочем, это можно было сделать и раньше с помощью OneGet/PackageManagement и Chocolatey, но теперь репозиторий (база данных программного обеспечения) поддерживаются Microsoft, а не сторонними поставщиками.
В отличие от магазина приложений Microsoft Store, с помощью winget пользователь может устанавливать куда больший набор самых различных часто используемых программ, не ограниченных довольно скудным ассортиментом из указанного магазина.
Как установить и использовать winget
Для установки winget, который пока доступен лишь в виде предварительной версии, вы можете:
- Скачать и установить файл установщика .appxbundle с официальной страницы https://github.com/microsoft/winget-cli/releases
- Установить Preview-версию Windows 10, зарегистрироваться в Insider-программе Windows Package Manager по ссылке а затем установить/обновить приложение «Установщик приложения» (App Installer) из Microsoft Store.
После установки, для начала использования Windows Package Manager или winget запустите PowerShell от имени администратора (проще всего сделать это, нажав правой кнопкой мыши по кнопке «Пуск» и выбрав нужный пункт меню). Осталось начать вводить команды. Можно начать с простого ввода winget чтобы получить информацию о доступных в менеджере пакетов командах.
Теперь, для примера, попробуем найти и установить нужную нам программу. Учитывайте, что установить мы можем лишь распространяющиеся бесплатно программы, либо с возможностью бесплатного использования. Для поиска и установки нужен доступ в Интернет. Пусть это будет архиватор 7-Zip, официальный сайт которого по какой-то причине не открывается из РФ. Вводим команды:
- Этой командой мы ищем все программы с «zip» в тексте, чтобы узнать, какое имя указывать в следующей команде.
- Как видим на скриншоте выше, в репозитории удалось найти peazip и 7Zip. Для установки 7Zip вводим
- Как видно на скриншоте выше, началась загрузка установщика с официального сайта, но, как упоминалось выше, 7-zip.org недоступен у нас и установка не удалась (я надеялся, что загрузка будет происходить с сайта Майкрософт).
- Пробую аналогичным образом установить что-то еще, например, Sublime Text (один из лучших текстовых редакторов для работы с кодом). Обратите внимание на скриншот: я могу выполнить установку по имени программы (Sublime Text, при наличии пробелов, берем имя в кавычки) или по имени пакета — SublimeHQ.SublimeText, которое я увижу после выполнения поиска. Установка прошла успешно.
- Установленную программу мы можем удалить стандартными средствами Windows 10 (программы и компоненты в панели управления или через интерфейс Параметры — Приложения).
- Чтобы увидеть полный список программ, можно использовать команду (без указания имени конкретной программы) winget install. Часть результата вы можете видеть на скриншоте — здесь и многие известные программы для обычного пользователя (Steam, CrystalDiskMark, WinRAR, PDFsam, популярные браузеры, программы для восстановления данных, бесплатные средства записи видео с экрана, например OBS Studio и ShareX, мессенджеры и многое другое), так и большой набор ПО для разработчиков, включая Visual Studio и другие IDE.
- При желании мы можем не устанавливать программу, а получить полную информацию о ней, включая контрольную сумму и прямую ссылку на загрузку. Для этого используется команда winget show имя_программы
- Появился сервис с графическим интерфейсом для более удобного поиска нужных программ winget и создания команд установки — Winstall.
Напомню, это предварительная версия Windows Package Manager и, думаю, как и в случае с Microsoft PowerToys (который, кстати, тоже можно установить через winget), этот менеджер пакетов в скором времени обзаведется новыми функциями, а список доступного программного обеспечения пополнится.
WinGet — менеджер пакетов в Windows 10
В Windows 10 появился собственный менеджер пакетов WinGet для установки программ из командной строки. По аналогии с apt и yum в Linux. WinGet еще называют Windows Package Manager или App Installer.
Менеджер пакетов позволяет искать, скачивать, устанавливать и обновлять последние версии программ без поиска их на официальных сайтах и ручной установки. Репозиторий пакетов поддерживается Microsoft.
Установка WinGet
Установка WinGet пока возможна только для участников Windows Package Manager Insiders Program. Для этого нужно стать участником программы предварительной оценки Windows, выполнить вход под учётной записью Microsoft, зарегистрироваться по ссылке:
Потом установить Установщик приложения (App Installer) из Microsoft Store по ссылке:
Это ещё не всё. Нужно скачать и установить файл установщика Microsoft.DesktopAppInstaller_8wekyb3d8bbwe.msixbundle с официальной страницы:
Запускаем и устанавливаем.
Установка WinGet завершена. В PowerShell или командной строке появилась команда winget.
Как пользоваться WinGet?
- install — Установка указанного пакета
- show — Показывает сведения о пакете
- source — Управление источниками пакетов
- search — Поиск и отображение базовых сведений о пакетах
- list — Отображать установленные пакеты
- upgrade — Обновление указанного пакета
- uninstall — Удаление указанного пакета
- hash — Вспомогательное приложение для хэширования файлов установщика
- validate — Утверждает файл манифеста
- settings — Открыть параметры
- features — Показывает состояние экспериментальных компонентов
- export — Экспортирует список установленных пакетов
- import — Устанавливает все пакеты в файле
К примеру, winget list выведет список установленных программ.
Найдём какой-нибудь пакет, например, vim:
Найдено несколько пакетов. Нам нужно установить пакет с названием «Vim»:
Установку можно производить по ID пакета или по имени. Если имя содержит пробелы, то нужно его взять в кавычки.
Прекрасно, Vim установился. Кто не знает, это линуксовый текстовый редактор. Отлично редактирует больше текстовые файлы, которые блокнотом не открываются. Какая-то другая программа может запустить мастер установки, требующий ввода сведений от пользователя.
Запускается программа для удаления пакета, дальше удаляем как обычно. Удалять программы можно также через панель управления или настройки системы.
Простая установка с помощью Wininstall
Если вы установили WinGet, то дальше для более наглядного поиска приложений можете посетить сайт https://winstall.app/.
Каталог постоянно обновляется. На текущий момент представлены 2062 приложения.