Как перестать искать экзешники по всему интернету и начать жить

03 Jun, 2026

Вспомните, сколько раз вы переустанавливали систему или настраивали новое рабочее место. Сначала идешь за Chrome, потом за VS Code, следом тянешь Git, Docker, Telegram, какой-нибудь специфичный шрифт для терминала... К третьему часу кликанья по кнопкам «Next» в инсталляторах начинаешь тихо ненавидеть Windows. В Linux есть apt или pacman, в macOS — brew. А что у нас?

Долгое время в Windows царил хаос, который пытались упорядочить энтузиасты с Chocolatey или Scoop. Но пару лет назад Microsoft выкатила свой официальный менеджер пакетов — WinGet. А репозиторий microsoft/winget-pkgs — это то самое «сердце» системы, где лежат инструкции для установки почти любого софта, который вам может понадобиться.

Gitter Validation Pipeline Badge Publish Pipeline Badge

Что это за проект на самом деле

Если коротко: это огромная база данных манифестов. Сам WinGet — это просто инструмент в командной строке, а winget-pkgs — это то, откуда он узнает, по какой ссылке скачать установщик, какую контрольную сумму проверить и с какими флагами запустить «тихую» установку.

Интересно, что Microsoft не просто создала закрытый каталог, а отдала его на откуп сообществу. Сейчас в репозитории больше 10 тысяч звезд и тысячи контрибьюторов. Если вы написали крутую утилиту и хотите, чтобы её можно было поставить одной командой winget install my-cool-app, вам нужно прийти именно сюда.

Реклама

Как это работает под капотом

Внутри репозитория нет самих бинарников. Там лежат YAML-файлы (манифесты). Когда вы вводите команду установки, WinGet лезет в этот репозиторий, находит нужный YAML и читает из него инструкции.

Проект поддерживает несколько типов установщиков:

  • Классические .exe и .msi
  • Современные MSIX и APPX
  • Шрифты (да, теперь их можно ставить через консоль)

Скриптовые установщики пока не завезли, что немного расстраивает, но для большинства задач хватает и того, что есть.

Почему это полезно разработчику

Главный кейс — автоматизация. Вместо того чтобы хранить папку с дистрибутивами на флешке, вы создаете один .bat или .ps1 файл.

Пример типичного набора для старта:

winget install Microsoft.VisualStudioCode
winget install Git.Git
winget install Docker.DockerDesktop
winget install JetBrains.Toolbox

Запустили, ушли пить кофе, вернулись — рабочее окружение готово. Никаких поисков официальных сайтов и проверки, не скачали ли вы случайно версию с рекламным ПО.

Кстати, WinGet умеет обновлять всё установленное одной командой: winget upgrade --all. Это избавляет от необходимости держать в автозагрузке десяток апдейтеров для каждой программы.

Как добавить свою программу

Если вы разработчик софта под Windows, попасть в официальный репозиторий — хороший тон. Процесс выглядит стандартно для GitHub: делаете форк, добавляете манифест своего приложения и создаете Pull Request.

Манифест выглядит примерно так:

PackageIdentifier: MyCompany.MyApp
PackageVersion: 1.0.0
Installers:
  - Architecture: x64
    InstallerType: exe
    InstallerUrl: https://example.com/setup.exe
    InstallerSha256: abcdef123456...

После отправки PR включаются автоматические проверки (те самые бейджи в начале статьи). Роботы Microsoft проверят ссылку на скачивание, просканируют файл на вирусы и попробуют установить его в чистой песочнице. Если всё ок — ваш софт станет доступен миллионам пользователей Windows.

Стоит ли переходить на WinGet

Если вы привыкли к Chocolatey, то WinGet может показаться чуть менее гибким в плане кастомизации путей установки. Но у него есть жирный плюс — нативная поддержка от Microsoft и то, что он уже предустановлен в современных версиях Windows 10 и 11.

Проект winget-pkgs — это отличный пример того, как Microsoft научилась работать с сообществом. Репозиторий живет очень активно: новые версии софта появляются там часто быстрее, чем на официальных сайтах.

Кому точно пригодится:

  • Системным администраторам для настройки парка машин.
  • Разработчикам для быстрой настройки окружения.
  • Авторам софта, которые хотят упростить жизнь своим пользователям.

Попробовать WinGet можно прямо сейчас, просто открыв терминал и введя winget search python. Скорее всего, вы удивитесь, как много всего там уже есть.