как добавить приложение в microsoft store
Распространение упакованного классического приложения
Если вы решите упаковать классическое приложение в пакет MSIX, то сможете опубликовать такое приложение в Microsoft Store или загрузить в неопубликованном виде на одно или несколько устройств.
У вас есть план, как перевести пользователей на упакованное приложение? Перед распространением ознакомьтесь с разделом Перевод пользователей на упакованное приложение этого руководства, чтобы получить несколько идей.
Распространение приложения путем его публикации в Microsoft Store
Microsoft Store — это привычный для пользователей способ получать приложения.
Опубликуйте приложение в Microsoft Store, чтобы охватить самую широкую аудиторию. Корпоративные клиенты также могут приобрести ваше приложение, чтобы распространять его внутри своих организаций через Microsoft Store для бизнеса.
Если вы планируете публиковать приложение в Microsoft Store, в ходе процесса отправки вам будет предложено ответить на несколько дополнительных вопросов. Это связано с тем, что манифест пакета объявляет возможность с ограниченным доступом под названием runFullTrust, и мы должны утвердить использование этой возможности приложением. Подробнее об этом вы можете прочитать здесь: Ограниченные возможности.
Подписывать приложение перед отправкой в Store не требуется.
Если вы планируете опубликовать приложение в Microsoft Store, проверьте исправность его работы на устройствах под управлением Windows 10 S (это обязательное требование для Store). См. статью Тестирование приложения для Windows на Windows 10 S.
Распространение приложения без размещения в Microsoft Store
Если вы не хотите использовать Store, можно вручную распространить приложения на одно или несколько устройств.
Это имеет смысл, если вам нужен более жесткий контроль над процессом распространения либо вы не хотите участвовать в процессе сертификации Microsoft Store.
Чтобы распространить приложение на другие устройства, не размещая его в Store, вам следует получить сертификат, подписать с его помощью приложение и загрузить это приложение как неопубликованное на нужные устройства.
Вы можете создать сертификат или получить его от известного поставщика, например Verisign.
Если ваше приложение будет распространяться на устройства под управлением Windows 10 S, оно должно быть подписано Microsoft Store, поэтому вам придется отправить его в Store перед распространением.
Если вы создаете сертификат, его необходимо установить в хранилище сертификатов Доверенный корневой сертификат или Доверенные лица на каждом устройстве, которое запускает ваше приложение. Если сертификат получен от известного поставщика, в других системах достаточно установить только ваше приложение.
Убедитесь, что имя издателя на сертификате совпадает с именем издателя вашего приложения.
Подпишите приложение с помощью этого сертификата, используя средство SignTool, как описано в этой статье.
Сведения о загрузке неопубликованного приложения на другие устройства см. в статье Загрузка неопубликованных бизнес-приложений в Windows 10.
Перевод пользователей на упакованное приложение
Перед распространением приложения рекомендуется добавить несколько расширений в ваш манифест пакета, чтобы пользователям было проще привыкнуть к работе с упакованным приложением. Вот пара советов о том, что можно сделать.
Полный перечень расширений и рекомендации по их использованию см. в разделе Переход пользователей на ваше приложение.
Кроме того, в упакованное приложение можно добавить код, который выполняет следующие задачи:
Давайте подробнее рассмотрим каждую из этих задач. Начнем с переноса пользовательских данных.
Перенос пользовательских данных
Если вы решили добавить код, который переносит пользовательские данные, его лучше выполнять только при первом запуске приложения. Прежде чем переносить данные, отобразите пользователю диалоговое окно с информацией о том, что происходит, почему вы рекомендуете это выполнить и что будет дальше с существующими данными.
Удаление классической версии приложения
Желательно не удалять классическое приложение, не запросив разрешения пользователя. Отобразите диалоговое окно с запросом соответствующего разрешения. Пользователи могут решить не удалять классическую версию. В этом случае вам нужно решить, блокировать ли использование классического приложения или поддерживать параллельное использование обеих версий.
Полный контекст этого фрагмента см. в файле MainWindow.cs примера Средство просмотра изображений WPF с переходом, переносом и удалением.
Дальнейшие действия
Есть вопросы? Задайте их на Stack Overflow. Наша команда следит за этими тегами. Вы также можете задать нам вопросы здесь.
Если при публикации приложения в Store возникнут проблемы, вы найдете полезные советы в этой записи блога.
Публикация десктоп-приложения корпоративного коммуникатора EasyLy в Windows Store c помощью Desktop Application Converter
Как вы знаете, АстроСофт разработал новый корпоративный коммуникатор на базе Skype for Business — EasyLy, который дополняет функционал Skype for Business. Например, может «по-человечески» сохранять историю переписки, как это делают все «приличные» мессенджеры, умеет отправлять сообщения в оффлайн, позволяет упорядочить контакты и ещё много всего, чего не хватало в Skype for Business. И когда появилась возможность поделиться десктоп-приложением с помощью Windows Store, мы решили этой возможностью воспользоваться. В статье мы расскажем, как это происходило и чего нам это стоило.
Про сам процесс разработки и про то, чего нам стоила идея работы со SfB в режиме Suppression Mode (подавление SfB), читайте здесь.
EasyLy разрабатывался как настольное приложение WPF & Lync SDK для Windows, и, конечно же, мы стремились поделиться своей разработкой со всем миром.
Публикация «классических» десктопных приложений (без метро-интефейса) стала доступна не так давно, опыта у нас совсем не было, поэтому мы начали изучать, как загрузить наше приложение в Windows Store.
Вся суть заключалась в том, чтобы с помощью Desktop Application Converter преобразовать приложение в AppX пакет для UWP (Universal Windows Platform), чтобы затем его можно было загрузить в Windows Store.
Нужно заметить, что не любое настольное приложение можно разместить в магазине. Оно должно удовлетворять требованиям, описанным в этой статье.
Для самого процесса конвертирования необходима ОС “Юбилейное обновление Windows 10 Pro” или “Корпоративная” (10.0.14393.0 и более поздней версии) x64. Также нужно будет установить Microsoft Windows 10 SDK. А перед работой с конвертером понадобится скачать один из базовых образов Windows 10.
Важно: версия билда операционной системы должна в точности совпадать с версией образа BaseImage-xxxxx.wim.
После прочтения статьи о том, как работать с конвертером, мы разработали систему скриптов для Command Prompt и Power Shell, которые генерировали AppxManifest.xml и конечный пакет AppX.
И вот, наконец, всё было готово для загрузки EasyLy.appx в Windows Store. Честно говоря, мы не рассчитывали на то, что процесс размещения приложения окажется так растянут по времени, но в общей сложности у нас на это ушло примерно два месяца. Мы также не ожидали, что впереди нас будут ждать странные ошибки, с которыми придётся бороться совместно с сотрудниками Microsoft. Эмоции команды были на переделе, но всё же нам это удалось. О том, что это были за ошибки и как мы их устраняли, читайте ниже.
При первой попытке публикации в Windows Store мы получили четыре ошибки.
Package acceptance validation error: You don’t have permissions to specify the following namespaces in the appx manifest file of the package EasyLy.signed.appx: schemas.microsoft.com/appx/manifest/foundation/windows10/restrictedcapabilities
Мы исправили ошибку №3 с версией. Оказалось, что запрещено иметь ревизию версии (последний разряд версии), отличную от нуля (major.minor[.build[.revision]]). Что ж, это было несложно.
Оставались ещё три ошибки:
Была исправлена ошибка №1 с именем сертификата в AppxManifest.xml:
Если честно, было странно, что это исправление сработало, и непонятно, с каким значением происходит сравнение имени сертификата, т.к. в свойствах AppX пакета в разделе “Цифровые подписи” имя сертификата было как раз с запятой, а к интерфейсу выкладывания в Windows Store разработчики доступа не имели (чтобы посмотреть, как там выглядит имя издателя и что оно вообще там присутствует), потому что публикация осуществлялась отделом маркетинга.
После этого остались ошибки, которые говорили о какой-то проблеме, связанной с аккаунтом, через который было невозможно выложить AppX.
Что делать с этими ошибками, нам подсказал один из авторов habrahabr’а — @asommer. Как оказалось, все новые десктопные приложения требуют ручной валидации — и для этого нужно написать в техподдержку.
Мы оставили заявку здесь, и уже через несколько дней с нами связался сотрудник Microsoft.
Поиск решения совместно с Майкрософт
Мы собрали конференцию по Skype for Business, где рассказали, что EasyLy — это десктопное приложение, которое расширяет функционал Skype4B, например умеет сохранять историю диалогов. И по результатам встречи отправили APPX-файл с приложением для проверки.
Также параллельно пришлось подписать ещё одно соглашение с Microsoft — Centennial Early Adopter Program Addendum
Общение было затруднено тем, что сотрудники Microsoft находились в Америке, и разница во времени составляла 10 часов. В результате — приходилось общаться поздно вечером, а ждать ответ на письма – сутки.
Через некоторое время мы получили письмо от Microsoft. У них возникли вопросы, как EasyLy интегрируется со Skype for Business. Им было необходимо удостовериться, что EasyLy сможет нормально работать со следующей версией Skype for Business.
В общем, нужно было подготовить техническое описание на английском. При этом договорились, что если что-то останется неясным, то будем снова устраивать онлайн-митинг.
К счастью, нашего описания оказалось достаточно, и сотрудник Microsoft нас заверил, что процесс одобрения идет.
Проверка на прочность
Мы не ожидали, что в Microsoft ещё будут проводиться какие-то тесты над нашим приложением. Представитель Microsoft сообщил, что наше приложение утверждено для Windows Store, но не прошло CARE-тест. К тому же, он указал на возможность воспользоваться дополнительными функциями API, доступными только для конвертируемых приложений. Из этих возможностей мы выбрали автозапуск при логине пользователя и добавили в AppxManifest.xml в элемент такой раздел:
«Windows.FullTrustApplication» Executable= «EasyLy.exe» Category= «windows.startupTask» > «EasyLy» Enabled= «true» TaskId= «GROVETYINC.EasyLyCorp.Startup» /> |
Чуть подробнее о тесте CARE. Судя по отчёту прохождения, который они нам прислали, проверяются следующие вещи:
Test for Drivers and Services (Drivers cannot be installed)
Test for DDE Exec registry verbs (DDE Exec warning)
Validate Appx Manifest (Application Identity Name can’t be empty)
Validate security policy settings (EXE can not request admin elevation, EXE can not request UIAccess)
Validate PE integrity (PE Files must be validly signed)
EasyLy провалился на втором пункте. Программа обращалась к нестандартным ключам реестра. Это было исправлено.
Теперь, когда все проблемы были решены, мы предвкушали радость победы и долгожданной загрузки EasyLy в Windows Store. Но удача снова была не на нашей стороне, и появились очередные ошибки:
Такое ощущение, что компания Microsoft решила заботливо не сообщать о всех ошибках сразу, а выдавать их по частям, и каждую следующую часть показывать только после исправления всех ошибок в предыдущей. Оно, может, и правильно, потому что если бы мы увидели все ошибки сразу, вероятность того, что мы решили бы продолжать, была бы определенно меньше. Но теперь, когда половина пути была пройдена, отступать назад уже не хотелось.
Супер-полное руководство по публикации в Microsoft Store
Привет, хабр! У меня часто случаются подобные ситуации: занимаюсь чем-нибудь сложным и в какой-то момент вылезает ошибка. Начинаю искать проблему в, соответственно, замороченных вещах, часто делая то, что не надо. И так проблемы нарастают. А в конце оказывается, что неполадка была в чем-то простейшем, например, программу запускать нужно было от имени администратора. Я один такой? В любом случае, ниже мы делимся супер-полным руководством по публикации приложения в Microsoft Store на примере игры. Заглядывайте под кат, чтобы сохранять свое время!
Передаю слово автору.
Вступление
Однажды мне пришла идея создать мини-игру. Без претензий на «ААА и чтобы графика как в реальной жизни». Мне, вдохновлённому минимализмом и low-poly, а также сложностью прохождения как у старых игр, хотелось создать небольшую игру. В итоге получилась игра, в которой необходимо быстро принимать решения, а все окружение работает против игрока — скорость, расстановка камер и местность. Как вы уже, наверное, поняли — помимо самой разработки пришлось столкнуться и с другими сложностями — например, выбирать и площадку для размещения игры. Попробую описать, как я пришел к выбору Microsoft Store.
Так как своей целевой платформой я выбрал ПК, а первую игру решил сделать полностью бесплатной (и вообще решил не извлекать с нее прибыль), то для размещения мне нужна была площадка с наилучшим соотношением следующих параметров: цена+удобство+аудитория+доступность. Если не вдаваться в детали, я сверил с этой характеристикой десяток площадок (как известные всем, так и не очень), а также рассмотрел несколько инди-издателей (которые занимались распространением таких мини-игр как моя, а не более крупных инди-проектов), после чего пришел к выводу, что Microsoft Store подходит для меня больше всего.
Цена регистрации в 626 рублей (Для индивидуальных разработчиков. Компаниям нужно заплатить 3000 р. Кстати, насколько я знаю, у MS и сейчас есть бесплатные способы получения прав разработчика — например, студенты могут получить аккаунт разработчика бесплатно) и большая аудитория (Microsoft Store идет «из коробки», начиная с Windows 8 и, судя по различным данным, сервис не обделен популярностью, так что стереотипы можно забыть) очень привлекательны. Особенно для новичка. Насчет удобства — субъективно, но меня все устраивает.
Перейдем к делу — данная статья будет интересна тем, кто хочет выпустить свою игру в Microsoft Store или просто посмотреть, «как это делается». В данной статье я постараюсь подробно, шаг за шагом, осветить руководство по публикации, а также заострить внимание на моментах, с которыми нужно быть очень внимательными, поскольку чаще всего здесь и происходят ошибки.
Инструменты, материалы и прочее:
Начало работы
Этап 0. Основные моменты перед началом процесса публикации.
1. Определитесь с названием проекта и зарезервируйте его (если не зарезервировали ранее).
Для резервирования имени продукта необходимо перейти в информационную панель центра разработки. Вы автоматически должны попасть на страницу «Обзор». Если по каким-то причинам этого не произошло, то вам следует воспользоваться боковым меню.
На странице «Обзор» необходимо нажать на кнопку «Создать новое приложение».
После этого вам будет предложено ввести имя приложения, а также проверить его доступность и произвести резервирование.
В случае удачной проверки вы увидите зеленую галочку:
Но если имя недоступно (например, зарезервировано кем-то), то при проверке или попытке резервирования вы увидите следующее:
Если же резервирование у вас пройдет успешно, то вас перекинет на страницу обзора приложения:
В открывшемся окне необходимо добавить сцены для сборки (для этого воспользуйтесь Add Open Scenes либо просто перетащите их мышкой из Assets в окно Scenes In Build), затем сменить платформу на Windows Store (выберете Windows Store в списке Platform, после чего нажмите Switch Platform), просмотреть параметры сборки — SDK, Target device, UWP Build Type и пр., после чего, либо оставить как есть, либо изменить их при необходимости. Когда вы с этим закончите, нажмите кнопку Player Settings.
Дальше откроется Player Settings, в котором нужно заполнить информацию о компании и игре.
На момент написания статьи существовали ограничения по весу иконок в 204800 байт. Так что если ваши иконки превышают данный размер, то во время создания пакетов приложения в Visual Studio ожидайте чего-то такого:
Этап 1. Сборка и сертификация в Visual Studio
После того, как вы собрали проект в Unity, у вас должно появиться в папке билда что-то вроде этого:
После того как файл будет открыт, вам следует обратить внимание на «Конфигурация решения» и «Обозреватель решений».
В конфигурации вы должны поставить Master:
После чего должно появиться следующее окно:
В нем нужно оставить все как есть (т.е. нажать на «Да») и перейти дальше, нажав «Далее».
После этого вам будет предложено выбрать или зарезервировать имя приложения. Если оно у вас уже зарезервировано, то выберите его и нажмите «Далее»:
Если же нет, то просто введите имя в соответствующее окно и нажмите «Зарезервировать»:
После этого список автоматически обновится, и вы увидите там имя своего приложения.
Дальше вам будет предложен выбор настроек. Главное, убедитесь еще раз, что у каждой конфигурации стоит Master, а все остальное можно оставить как есть и нажать «Создать». Сборка может занять некоторое время, так что не волнуйтесь.
Дальше нужно сделать выбор. Либо запустить набор сертификации и узнать, пройдет ли ваша игра в Microsoft Store. Либо попробовать отправить ее сразу в Microsoft Store. Но выбор здесь относительный, поскольку если ваша игра не может пройти сертификацию, то и к публикации ее не допустят. Разница лишь во времени. Вы можете либо потратить несколько минут на сертификацию, либо до трёх дней (столько занимает процесс публикации продукта со всеми проверками).
Если вы все же решили запустить набор сертификации, то спустя пару секунд увидите следующее окно:
В нем следует просто нажать «Далее», после чего начнется процесс сертификации. Как только проверка будет завершена, вы увидите итог. Если все пройдет хорошо, то будет красивая зеленая надпись «Пройдено»: э
Если же вы увидите «Не пройдено», то не расстраивайтесь — такое бывает. Просто нажмите «Щелкните здесь, чтобы просмотреть результаты» и найдите пункты, с которыми возникли сложности, после чего, либо решите проблемы самостоятельно, либо воспользуйтесь помощью в тематических сообществах.
К примеру, в данном случае проверка не пройдена из-за того, что я вместо Master при сборке выбрал Release, что помешало пройти проверку API.
Этап 2. Магазин
По завершению проверки набором сертификации следует перейти к файлу APPXUPLOAD.
Данный файл необходимо отправить в магазин. Для этого мы должны перейти в Центр разработки на страницу «Обзор» и нажать «Начать отправку»:
После этого откроется страница отправки и надо будет снова нажать «Начать отправку«.
Сформируется «Отправка 1». Для отправки в магазин необходимо сделать так, чтобы первые 5 пунктов были «Завершены».
Чтобы уж совсем не растягивать статью, некоторые пункты я опишу кратко:
«Цены и доступность» — в основном это выбор рынков (стран, в которых игра доступна), цен, даты публикации и создание пробной версии (пример: бесплатная пробная версия со сроком действия).
«Свойства» — категория и подкатегория игры, системные требования, параметры и прочее.
«Возрастные категории» — небольшой тест-анкета International Age Rating Coalition (IARC) для определения возрастной категории игры. Также, если игра, которую вы хотите опубликовать в Microsoft Store, уже была вами опубликована на другой площадке и получила International Age Rating Coalition, то вы можете воспользоваться импортом оценок. Сам тест представляет из себя несколько вопросов, который сводится к выбору «Да» или «Нет».
После прохождения теста вам будут представлены оценки (ESRB, PEGI, РСВР и прочие).
«Пакеты» — в этом разделе пора вспомнить о заготовленном APPXUPLOAD-файле и загрузить его.
В завершение загрузки на этой же странице будут представлены доступные платформы. Так как я решил выпустить проект только на ПК с Windows 10, то снял лишние галочки:
«Описания в Магазине» — с этим придется немного повозиться. Процитирую дополнительную Информацию этого раздела:
«Предоставьте текст и изображения, которые клиенты будут видеть в описании в Магазине на каждом поддерживаемом языке. Вы можете ввести эти сведения по отдельности или экспортировать CSV-файл со всеми данными описания, внести в него изменения и импортировать его, чтобы ввести всю новую информацию за один раз».
В первой своей публикации я решил делать описание через CSV-файл. В данной же статье опишу способ проще, но слегка зануднее. Если кому-то тоже хочется делать через CSV-файл, то ознакомьтесь с данной статьей.
Нажимаем на «Добавить/удалить языки«.
После этого щелкаем на «Управление дополнительными языками«.
И выбираем интересующие языки для описания.
После этого нажмите «Сохранить» и вернитесь на страницу «Отправка 1». В разделе «Описания в Магазине», в моем случае, видны два языка — английский, который система определила автоматически еще на этапе загрузке пакетов, а также русский, который я выбрал сам. По окончанию заполнения описания отметка «Не завершено» сменится на «Завершено»:
Для добавления описания надо нажать на выбранный язык и заполнить всю информацию на странице (в случае русского на русском, английского на английском и т.д.)
В итоге у вас все должно выйти примерно так:
«Примечание о сертификации» — сведения для тестеров, которые помогут тестерам использовать и понять отправку. Например, имя и пароль для тестовой учетной записи, действия для доступа к скрытым или заблокированным функциям и прочее. Этот пункт идет дополнительным, а не обязательным.
Теперь осталось лишь нажать на «Отправить в Магазин«, после чего начнутся часы ожидания публикации.
По окончанию статус «Процесс сертификации» в обзоре приложения
изменится на приятный «Размещение в Магазине«, что будет означать, что ваш путь публикации окончательно завершился!
В дальнейшем, если вы захотите изменить что-то в своей игре, вам будет достаточно нажать «Обновить» напротив отправки в обзоре приложения.
Заключение
В заключении хочу пожелать всем разработчикам делать хорошие игры и не бояться пробовать экспериментировать и открывать новые горизонты!