Windows package manager как установить

Обновлено: 07.07.2024

Диспетчер пакетов Windows — это комплексное решение для управления пакетами, которое состоит из программы командной строки и набора служб для установки приложений в Windows 10 и Windows 11.

Диспетчер пакетов Windows для разработчиков

Разработчики используют программу командной строки winget для обнаружения, установки, обновления, удаления и настройки проверенного набора приложений. После установки разработчики могут получить доступ к winget с помощью терминала Windows, PowerShell или командной строки.

Диспетчер пакетов Windows для независимых поставщиков программного обеспечения

Независимые поставщики программного обеспечения могут использовать Диспетчер пакетов Windows в качестве канала распространения пакетов программного обеспечения, содержащих их средства и приложения. Для отправки пакетов программного обеспечения (содержащих установщики MSIX, MSI или EXE) в Диспетчер пакетов Windows мы предоставляем на сайте GitHub репозиторий манифестов пакетов сообщества Майкрософт с открытым исходным кодом. Независимые поставщики программного обеспечения могут передавать в него манифесты пакетов, которые затем могут быть включены в Диспетчер пакетов Windows. Манифесты проверяются автоматически, однако они также могут просматриваться вручную.

Основные сведения о диспетчерах пакетов

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

В идеале разработчики используют диспетчер пакетов, чтобы задать компоненты, необходимых им для разработки решений под конкретный проект. Затем диспетчер пакетов выполняет декларативные инструкции по установке и настройке средств. Диспетчер пакетов сокращает время, затрачиваемое на подготовку среды, и помогает обеспечить установку на компьютеры одних и тех же версий пакетов.

Диспетчеры пакетов сторонних разработчиков могут использовать репозиторий манифестов пакетов сообщества Майкрософт для пополнения своего каталога программного обеспечения.

Microsoft не стесняется переносить в Windows 10 различные фишки из других операционных систем. Очередное такое заимствование — менеджер пакетов, как в Linux. Программа называется Windows Package Manager, или winget, и она уже присутствует в новом выпуске Insider Preview. В следующих обновлениях она будет доступна для всех пользователей «Десятки».

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

Теперь Windows 10 тоже так умеет. И попробовать качать программы «как в Linux» вы можете уже сейчас. Вот как это делается.

Устанавливаем Windows Package Manager

Откройте страницу релизов Windows Package Manager и скачайте оттуда последнюю версию. Это файл в формате appxbundle.

Откройте его, нажмите «Установить», и winget будет добавлен в вашу систему.

Скачиваем программы

Теперь вы можете устанавливать программы, как в Linux, через командную строку. Откройте в меню «Пуск» PowerShell от имени администратора.

Перед вами окажутся все приложения, которые есть в библиотеке Windows Package Manager. Их уже довольно много, и в дальнейшем количество будет ещё увеличиваться.

Этот список куда более полезен, чем то, что нам предлагают в Microsoft Store.

Когда хотите установить какую-нибудь программу, например торрент-клиент Deluge, наберите команду winget install и имя пакета, которое можно увидеть во втором столбце таблицы winget show . Вот:

winget install DelugeTeam.Deluge

Пойдёт процесс загрузки, а затем и установки программы. Участия в нём принимать вам не понадобится — ввели команду, и всё.

Кстати, указывать точное имя пакета необязательно. Можно ввести:

winget install dropbox

И система поймёт, что вы хотите установить программу Dropbox.

Если хотите уточнить, есть ли программа в перечне доступных, наберите

winget search vlc

Windows Package Manager найдёт искомую программу.

Можно скачивать нужные приложения, не запуская браузер и не посещая сомнительные сайты в поисках установщиков. Это весьма удобно.

К сожалению, в отличие от пакетных менеджеров Linux, winget пока не умеет устанавливать по нескольку программ разом. Команды вроде winget install dropbox vlc deluge , чтобы скачать сразу три приложения, пока не работают.

Windows-Package-Manager-Winget

Что такое менеджер или диспетчер пакетов 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 и выше вам необходимо выполнить одно из требований:

Версия 1.0 диспетчера пакетов Windows скоро будет поставляться в виде автоматического обновления через Microsoft Store для всех устройств под управлением Windows 10 версии 1809 и более поздних версий. Так же установить и использовать Windows Package Manager 1.0 можно через групповые политики

Установка менеджера пакета WinGet через Microsoft Store

Данный метод очень простой, тут будет использоваться установщик приложения. Microsoft App Installer для Windows 10 существенно упрощает загрузку неопубликованных приложений для Windows 10. Перейдите на страницу с Microsoft App Installer.

В правой части страницы нажмите "Получить"

Установка менеджера пакета WinGet через Microsoft Store

Далее подтвердите, что подтверждаете открытие данного приложения через Microsoft Store

Получение WinGet Windows Package Manager через Windows Store

Если у вас выскакивает ошибка при скачивании Microsoft App Installer, то нужно посмотреть причину в подробных сведениях. Если проблем нет, то Microsoft App Installer установится без проблем.

Ошибка установки Microsoft App Installer

В итоге Microsoft App Installer жалуется, что центр обновления Windows отключен.

Не скачивается Microsoft App Installer из-за отключенной службы обновления

Установка менеджера пакета WinGet через GitHub и PowerShell

Как я и писал выше весь открытый код Winget выложен на портале GitHub. Суть установки WinGet заключается в том, что необходимо скачать и установить appxbundle пакет. Для этого перейдите по ссылке, где есть список всех релизов и версий:

На момент написания статьи актуальной версией является Windows Package Manager v1.0.11451. Снизу вы увидите список доступных файлов, Microsoft.DesktopAppInstaller_8wekyb3d8bbwe.appxbundle это и есть сам пакет с утилитой WinGet.

Список релизов WinGet Windows Package Manager на GitHub

Далее вы просто щелкаете по данному пакету и устанавливаете его. Вас уведомят, хотите ли вы обновить установщик приложений, ответьте да.

Установка менеджера пакета WinGet через скачанный пакет Microsoft.DesktopAppInstaller_8wekyb3d8bbwe.appxbundle

Начнется процесс обновления. Дожидаемся окончания и можем использовать WinGet.

Процесс обновления менеджера пакетов

Давайте я покажу, как с помощью PowerShell можно скачать данный пакет и установить его. Откройте PowerShell от имени администратора и введите:

Invoke-WebRequest -Uri "https://github.com/microsoft/winget-cli/releases/download/v1.0.11451/ Microsoft.DesktopAppInstaller_8wekyb3d8bbwe.appxbundle " -OutFile "C:\Temp\WinGet.appxbundle"
Add-AppxPackage "C:\Temp\WinGet.appxbundle" Не забываем, что нужно поставить в данную команду нужную вам версию, в моем примере это v1.0.11451

Первая команда начинает скачивание пакета Microsoft.DesktopAppInstaller_8wekyb3d8bbwe.appxbundle, убедитесь, что у вас создана папка для загрузки.

Скачивание пакета Microsoft.DesktopAppInstaller_8wekyb3d8bbwe.appxbundle через PowerShell

Далее команда распаковывает пакет и добавляет утилиту WinGet.

Процесс установки пакета Microsoft.DesktopAppInstaller_8wekyb3d8bbwe.appxbundle через PowerShell

На этом установка менеджера пакетов 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 - Направляет данные журнала в файл журнала. Необходимо указать путь к файлу, для которого у вас есть права на запись.

Основные ключи winget

Как установить программное обеспечение с помощью диспетчера пакетов Windows

Теперь вы можете начать использовать winget для установки огромного количества программ, сильно ускорив этот процесс, а дальше я покажу, как это еще и автоматизировать скриптами.

  • Первое, что вы должны сделать, это вывести список всех установленных. Сделать это можно через команду:

На выходе вы получите список содержащий: имя, ID и версию установленного пакета.

Вывод списка установленных пакетов через winget

Обратите внимание, что тут будут перечислены все приложения, которые вы видите и в оснастке "Программы и компоненты", для примера я вывел отдельной командой этот же список для сравнения.

Get-ItemProperty HKLM:\Software\Microsoft\Windows\CurrentVersion\Uninstall\* | Select-Object DisplayName, DisplayVersion, Publisher, Size, InstallDate | Format-Table -AutoSize

Вывод списка установленных приложений через winget

  • Теперь давайте посмотрим список доступных пакетов, через команду:

Вы увидите огромный список

Winget - Как вывести список доступных для установки приложений

  • Чтобы произвести поиск по ключевому слову во всем списке пакетов, вам нужно воспользоваться ключом search. Я буду искать например "Google" или "Telegram Desktop". Введите:

В результате вы получите все пакеты с ключевым словом "Google". Мне интересен Google Chrome и его версия Canary.

произвести поиск по ключевому слову во всем списке пакетов

  • У вас может возникнуть потребность более подробно посмотреть содержимое пакета с его метаданными, кто его разработчик, версия и все в таком духе, для этого выполните:

Обратите внимание, что можно использовать как имя пакета, так и его ID. Полезной информации будет много.

Winget - Просмотр содержимого пакета (Версия, тип расширения, локаль, автор, разработчик)

  • Процесс установки приложения через Winget. Тут все просто, в менеджере пакетов Windows есть ключ install, структура будет такой:

Начнется подключение к репозиторию Microsoft и скачивание пакета Google Chrome.

подключение к репозиторию Microsoft и скачивание пакета Google Chrome

После чего появится окно с установкой Google Chrome

Winget - окно с установкой программы

Дожидаемся окончания установки. Проверяем, что приложение появилось в списке.

Установка приложений через Winget

  • Если хотите установить несколько приложений сразу, то вот пример команды, устанавливающей "VLC media player" и "Telegram Desktop". Команда будет выглядеть вот так:
winget install "VLC media player" --silent; winget install "Telegram Desktop" --silent

Как видите все успешно отработало и в списке приложений все появилось.

winget - установка нескольких приложений

Проверим наши приложения в меню пуск.

  • При желании вы можете экспортировать список пакетов, которые у вас установлены в JSON файл, чтобы потом его можно было импортировать. Если вам это нужно вот пример команды:

Бывает, так что некоторые пакеты не могут быть экспортируемы и будут писать "Установленный пакет недоступен из любого источника".

winget выгрузка в json

Как использовать winget в скриптах

Логично представить, что если это утилита командной строки или PowerShell, то можно написать скрипт, который вы сами будите запускать на чистой системе или через автозапуск Windows, вам главное чтобы без вашего участия был установлен весь набор софта. для корпоративных компьютеров, это вообще отличное решение, так как установка программ через GPO не всегда возможна, а SCCM есть не у всех.

Самое классное, что если вы еще не разбираетесь в PowerShell, то вы легко можете все равно написать скрипт. Для этого есть отличный интернет ресурс:

winstall - это по сути графический режим для пакетного менеджера Windows Winget. Ресурс имеет огромную базу пакетов, которая присутствует в winget и позволяет вам выбрать их нужное количество, после чего сформировать простой скрипт на PowerShell.

  1. Первым делом вам необходимо через поиск найти нужные вам пакеты. Пускай в моем примере, это будут: "VLC media player", "Telegram Desktop", "Google Chrome", "Mozilla Firefox".
  2. Далее, когда вы выбрали все необходимые пакеты, вам необходимо просто нажать кнопку "Generate Script"
  3. В результате этих простых действий вам будет подготовлено три сценария: bat скрипт для командной строки, скрипт PowerShell и файл для импорта в Winget.
  4. Далее вам остается просто запустить нужный файл в вашей системе.

Мы начали путь к созданию собственного диспетчера пакетов для 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.

Windows Package Manager (winget) впервые был представлен в мае 2020 на конференции для разработчиков Microsoft Build. Инструмент позволяет устанавливать приложения из интерфейса командной строки.

В новой версии вы можете включить экспериментальные функции, внеся изменения в файл конфигурации WinGet с помощью команды winget settings . При запуске команды вам нужно будет выбрать текстовый редактор для редактирования файла JSON с настройками.

Чтобы включить функции, скопируйте и вставьте в этот файл следующие инструкции:

winget

Установка приложений из Microsoft Store

После добавления параметра experimentalMSStore и сохранения настроек, в WinGet появится новый репозиторий под названием msstore. В этом можно убедиться с помощью команды winget source list .

winget

Новый репозиторий msstore содержит 289 приложений, связанных с программированием, работой с сетью и разработкой, которые можно установить непосредственно из Магазина Microsoft.

winget

Установить приложения можно установить с помощью стандартной команды winget install .

winget

Установленные из репозитория MSStore приложения будут также отображаться в Microsoft Store. Также для них доступны стандартные процедуры обновления.

winget

К сожалению, Microsoft до сих пор не добавила возможность удаления или обновления программ, установленных через WinGet, которая требуется для того, чтобы менеджер пакетов был действительно полезен в производственной среде.

Microsoft заявила, что добавление команд uninstall и upgrade является непосредственной целью компании. Также компания занимается функциями импорта и экспорта, которые позволят экспортировать список пакетов и импортировать их на новую машину.

Автозаполнения команд PowerShell

Помимо установки приложений из Microsoft Store, новая версия включает экспериментальную функцию автозаполнения.

Для ее включения можно воспользоваться конфигурационным файлом выше, но для ее корректного использования понадобиться создать профиль PowerShell.

Протестировать функциональность можно с помощью следующей последовательности клавиш, предлагаемой Microsoft:

Инсайдеры Windows могут протестировать новые функции WinGet уже сейчас. В качестве альтернативы можно воспользоваться инструкциями на GitHub.

Читайте также: