Microsoft развивает новый открытый пакетный менеджер winget
Компания Microsoft опубликовала первый тестовый выпуск пакетного менеджера winget (Windows Package Manager), предоставляющего средства для установки приложений с использованием командной строки. Код написан на языке С++ и распространяется под лицензией MIT. Пакеты устанавливаются из репозитория, поддерживаемого при участии сообщества. В отличие от установки программ из каталога Windows Store, winget позволяет устанавливать приложения без лишнего маркетинга, изображений и рекламы.
В текущем выпуске поддерживаются команды для поиска приложения (search), установки (install), показа информации о пакете (show), настройки репозиториев (source), работой с хэшами файлов установщика (hash) и проверки целостности метаданных (validate). В следующем выпуске ожидается появление команд uninstall, list и update. Параметры пакета определяются через файлы с манифестом в формате YAML. Сами исполняемые файлы хранятся непосредственно на серверах основных проектов, репозиторий лишь выступает индексом, а манифест ссылается на внешний msi-файл (например, размещённый на GitHub или сайте проекта) и использует хэш SHA256 для контроля целостности и защиты от подмены.
Первый полнофункциональный релиз, который запланирован на май следующего года, будет поддерживать интеграцию с каталогом Microsoft Store, автодополнение ввода, различные категории выпусков (релизы, бета-версии), установку системных компонентов и приложений для панели управления, оптимизации для доставки очень больших файлов (delta-обновления), наборы пакетов, интерфейс для генерации манифестов, работу с зависимостями, установочные файлы в формате zip (помимо msi) и т.п.
Пакетный менеджер winget уже доступен пользователям свежего экспериментального выпуска Windows Insider и будет поставляться в составе Desktop App Installer 1.0. В настоящее время в репозиторий уже добавлены такие проекты, как 7Zip, OpenJDK, iTunes, Chrome, Blender, DockerDesktop, Dropbox, Evernote, FreeCAD, GIMP, Git, Maxima, Inkscape, Nmap, Firefox, Thunderbird, Skype, Edge, VisualStudio, KiCad, LibreOffice, Minecraft, Opera, Putty, TelegramDesktop, Steam, WhatsApp, Wireguard и Wireshark, а также большое число приложений Microsoft.