Microsoft опубликовала пошаговое руководство, которое позволяет примерно за полчаса создать нативное приложение для Windows, собрать его и подготовить к публикации в Microsoft Store. Полноценная Visual Studio для этого не нужна, а все используемые инструменты доступны бесплатно.
Приложение создаётся на WinUI 3 – современном интерфейсном фреймворке из Windows App SDK. Большую часть рутинной работы выполняют два инструмента: командная строка winapp, которая отвечает за создание проекта, упаковку и публикацию, и агент GitHub Copilot, способный писать код по описанию на обычном языке.
Сама утилита winapp появилась не сейчас – Microsoft представила её ещё в январе. Новым стал сам подход: компания впервые объединила эти инструменты в единый официальный сценарий и показала весь путь от пустой папки до готового приложения без необходимости открывать полноценную среду разработки.
Что понадобится установить
На подготовку среды, по оценке Microsoft, уйдёт около пяти минут. Понадобятся редактор Visual Studio Code, .NET SDK версии 10 или новее, командная строка winapp, шаблоны WinUI для dotnet new, GitHub CLI с расширением Copilot, агент winui и расширение WinApp для редактора. Основные компоненты устанавливаются из Терминала Windows несколькими командами:
winget install Microsoft.VisualStudioCode winget install Microsoft.DotNet.SDK.10 winget install Microsoft.winappcli --source winget dotnet new install Microsoft.WindowsAppSDK.WinUI.CSharp.Templates winget install GitHub.cli
После установки GitHub CLI терминал нужно закрыть и открыть заново, чтобы новая сессия подхватила обновлённую переменную PATH и команда gh стала доступна. Затем остаётся войти в учётную запись и установить необходимые дополнения:
gh auth login gh extension install github/gh-copilot gh copilot plugin install winui@awesome-copilot code --install-extension microsoft-winappcli.winapp
Три поправки к списку Microsoft
При проверке на чистой Windows 11 выяснилось, что список неполон. Команда gh extension install github/gh-copilot в GitHub CLI 2.100 не работает: она отвечает «copilot matches the name of a built-in command or alias», потому что gh copilot стал встроенной командой. Вместо расширения нужен отдельный Copilot CLI – он ставится командой winget install GitHub.Copilot либо скачивается сам при первом запуске gh copilot. Кроме того, установка плагина требует git, которого в списке тоже нет: без него команда падает с «git is not installed or not found on PATH». А расширение Copilot Chat для редактора ставить не нужно вовсе – в Visual Studio Code 1.136 уже встроена версия новее магазинной, и установка из маркетплейса завершается отказом.
Проверить установку winapp можно командой winapp --version. Microsoft также рекомендует подключить ИИ-агента к серверу Learn MCP. В этом случае Copilot сможет обращаться к актуальной документации WinUI 3 и получать свежие сведения об API, а не опираться только на данные, использованные при обучении модели.
Проверка после установки: winapp 0.6.1, .NET SDK 10.0.400, GitHub CLI 2.100.0 и Visual Studio Code 1.136.1.
Что значит «бесплатно»
Сценарий рассчитан на бесплатный тариф GitHub Copilot. Платная подписка не требуется, однако без учётной записи с доступом к Copilot этап с ИИ-агентом работать не будет. Доступ к сервису из России ограничен, поэтому этот момент стоит проверить заранее.
Каркас приложения создаётся одной командой
Новый проект создаётся в пустой папке с помощью шаблона winui-navview:
mkdir MyFirstApp cd MyFirstApp dotnet new winui-navview
В результате получается готовое приложение WinUI 3 с боковой панелью навигации и тремя страницами – «Главная», «О программе» и «Параметры». Запустить его можно командой dotnet run. Устанавливать MSIX-пакет для этого не требуется: на этапе разработки приложение запускается непосредственно из собранных файлов. После первого успешного запуска проект можно открыть в редакторе командой code .
Заготовка после dotnet run: слева разделы Home и About, внизу Settings, справа содержимое страницы. Названия страниц в шаблоне английские. Снимок сделан на Windows 11, версия 25H2.
Понадобится режим разработчика
В списке предварительных условий Microsoft об этом не упоминает, но без включённого режима разработчика dotnet run завершается ошибкой «Failed to launch application: Developer Mode is not enabled on this machine». Режим включается в «Параметры» > «Система» > «Для разработчиков».
Microsoft отдельно обращает внимание на один нюанс: до первого запуска dotnet run не стоит использовать F5. Отладчик Visual Studio Code попытается найти исполняемый файл, которого ещё нет. После первой успешной сборки и F5, и кнопка запуска в расширении WinApp начинают работать в обычном режиме.
Новые функции можно описывать обычными словами
Следующий этап – использование GitHub Copilot. В Visual Studio Code нужно открыть чат, включить агентский режим и выбрать агента winui-dev. После этого нужную функцию можно описать обычным текстом. В примере Microsoft предлагает добавить на страницу параметров переключатель тёмной темы.
Агент самостоятельно пишет код, создаёт необходимые файлы и вносит изменения в структуру навигации. Проверить результат можно уже знакомой командой dotnet run: достаточно запустить приложение и убедиться, что новая страница или функция появилась и работает.
Того же агента можно вызвать и без редактора, прямо из терминала. В неинтерактивном режиме команда выглядит так – обратите внимание, что имя агента указывается с префиксом плагина:
copilot -p "Add a settings page to my WinUI NavigationView app with a toggle for dark mode" --agent winui:winui-dev --allow-all-tools
Агент подгружает свои навыки, составляет план, читает файлы проекта и в конце показывает счёт: объём правок, потраченные кредиты и время.
На нашем примере агент отработал за три минуты и внёс 47 добавленных и 8 удалённых строк. Он заменил заглушку страницы параметров карточкой SettingsCard из Community Toolkit, добавил переключатель, применил тему на уровне приложения, сохранил выбор в LocalSettings и подтянул недостающий пакет. В отчёте написал, что приложение собирается и запускается.
Страница параметров после работы агента: карточка «Dark mode» с описанием и переключателем.
При этом Microsoft настоятельно рекомендует просматривать предложенные изменения перед запуском. ИИ может допускать ошибки, поэтому полностью полагаться на сгенерированный код не стоит.
Сгенерированный код лучше проверить: переключение темы привело к сбою
Страница появилась, приложение собралось и запустилось – ровно как отчитался агент. Но при первом же нажатии на переключатель окно закрывалось, и так дважды подряд. В журнале Windows обе попытки записаны как сбой в модуле Microsoft.UI.Xaml.dll с кодом исключения 0xc000027b.
Причина видна в самом коде: агент применяет тему строкой RequestedTheme = isDarkMode ? ApplicationTheme.Dark : ApplicationTheme.Light у объекта приложения. В WinUI 3 это свойство разрешено задавать только до создания содержимого окна, а на лету тему меняют у элемента через FrameworkElement.RequestedTheme. Код компилируется и проходит запуск, но ломается при использовании – именно тот случай, когда правки нужно читать, а не принимать на веру.
Упаковка приложения и отправка в магазин
Когда приложение готово, его сначала публикуют в отдельную папку, а затем упаковывают в установочный пакет MSIX:
dotnet publish -o ./publish winapp pack ./publish --generate-cert --install-cert
Параметры --generate-cert и --install-cert создают локальный сертификат разработчика и устанавливают его в систему для тестирования пакета. Поэтому на этом этапе терминал нужно запускать от имени администратора: сертификат добавляется в доверенное хранилище Windows. Для публикации приложения в Microsoft Store компания рекомендует использовать уже не этот сертификат, а данные из Partner Center.
Отправить готовый пакет в магазин также можно из командной строки:
winapp store publish ./*.msix --appId <идентификатор приложения>
Для этого потребуется учётная запись Partner Center. После отправки приложение проходит сертификацию, которая, по данным Microsoft, обычно занимает от одного до трёх рабочих дней.
Полчаса – до готового пакета, а не до появления в магазине
Заявленные тридцать минут относятся к пути от пустой папки до собранного приложения и готового MSIX-пакета. После отправки начинается проверка со стороны Microsoft Store, сроки которой уже не зависят от разработчика.
Зачем Microsoft упрощает разработку под Windows
Microsoft уже несколько лет пытается сделать разработку нативных приложений для Windows привлекательнее и продолжает развивать Windows App SDK. Одной из проблем платформы долгое время оставался высокий порог входа: разработчику приходилось разбираться с несколькими SDK, манифестами, сертификатами и правилами упаковки.
Командная строка winapp появилась именно для того, чтобы собрать эту рутину в одном инструменте. Теперь Microsoft добавила к ней сценарий с ИИ-агентом, который может взять на себя значительную часть написания и изменения кода.
Насколько разумно доверять ИИ полноценную разработку приложения – отдельный вопрос. Но сам процесс стал заметно проще: Microsoft официально описала путь от пустой папки до нативного Windows-приложения, используя бесплатные инструменты и обходясь без полноценной Visual Studio.
Полное руководство доступно на сайте Microsoft Learn.



