Repository navigation
Microsoft Store
Роман Зопиров edited this page Oct 29, 2026
·
2 revisions
Модуль Microsoft Store взаимодействует напрямую с Microsoft Partner Center Dev Center Ingestion REST API v1.0 для полной автоматизации развёртывания приложений Windows (.msix, .msixupload, .zip).
Для работы с API Partner Center необходимы:
- Учетная запись Partner Center: Активный профиль разработчика Windows.
- Приложение в Azure Active Directory: Привязанное к Partner Center в разделе Параметры учетной записи -> Управление пользователями -> Приложения Azure AD с ролью Менеджер (Manager).
-
Application ID (Product ID): 12-значный буквенно-цифровой идентификатор зарезервированного продукта в Partner Center (например,
9NZXP5WR803J). -
Seller ID: Идентификатор продавца в Partner Center (например,
94042650).
Параметры авторизации:
| Параметр | Флаг CLI | Переменная окружения | Описание |
|---|---|---|---|
| App ID | --app-id |
STORE_APP_ID |
Product ID приложения (например, 9NZXP5WR803J) |
| Tenant ID | --tenant-id |
STORE_TENANT_ID |
Azure AD Directory (tenant) ID |
| Client ID | --client-id |
STORE_CLIENT_ID |
Azure AD Application (client) ID |
| Client Secret | --client-secret |
STORE_CLIENT_SECRET |
Секрет приложения Azure AD |
| Seller ID | --seller-id |
SELLER_ID |
Partner Center Account ID |
Команды:
publish Загрузить пакет, синхронизировать метаданные и отправить на сертификацию
status Проверить текущий статус публикации и активных черновиков
delete-draft Удалить незавершенный черновик в статусе PendingCommit
configure Сохранить профиль авторизации в ~/.octo/mstore.json или .octopublish.json
Основная команда для пайплайнов непрерывного деплоя (CI/CD):
octopublish mstore publish \
--package "./bin/Release/App_1.0.0.0_x64.msix" \
--notes-dir "./packaging/whatsnew" \
--desc-dir "./packaging/store/windows"- Аутентификация в Azure AD OAuth 2.0 (
login.microsoftonline.com). - Запрос текущих сабмишенов приложения в Partner Center.
-
Защита Safe Skip: Если текущий сабмишен находится на этапе сертификации (
Certification) или публикации (Release), инструмент выводит[ПРОПУСК]и успешно завершается с кодом0, предотвращая сбой сборки из-за конфликта HTTP 409 Conflict. - Создание нового черновика (
PendingCommit) или повторное использование существующего. - Получение безопасного SAS URL хранилища Azure Blob Storage.
- Автоматическая инкапсуляция
.msixв архив.zip(строгое требование Partner Center Ingestion API). - Нормализация подписи SAS (
+в%2B) и блочная параллельная передача пакета с отображением прогресс-бара. - Синхронизация описаний, заметок о релизе и скриншотов.
- Отправка сабмишена на официальную сертификацию Microsoft Store.
Проверяет текущее состояние сабмишенов приложения:
octopublish mstore status --app-id "9NZXP5WR803J"Удаляет зависший черновик сабмишена, если предыдущая сборка была прервана:
octopublish mstore delete-draft --app-id "9NZXP5WR803J"Интерактивный мастер для сохранения параметров на машине разработчика:
octopublish mstore configureПараметры сохраняются в защищенном пользовательском файле ~/.octo/mstore.json.
-
Начало работы
-
Store as Code
-
Модули магазинов
-
CI/CD и конфигурация
-
Внутреннее устройство