Pull to refresh

Установка Windows Store приложний без Windows Store

Итак, мы построили приложение, и перед нами встала задача отдать его на тестирование. Конечно, можно отнести исходный код, но у тестеров должна стоять Visual Studio 2012 (далее VS). Да и если нам просто необходимо развернуть приложение на клиентской машине, неужели придется ставить на каждую машину VS? Решительно нет.
Есть еще один вариант – разместить в Windows Store. Но мы же не хотим, чтобы наше приложение, не предназначенное для чужих глаз, попало в общий доступ. Тоже не подходит.
Тогда остается еще один способ, а именно sideloading apps. В двух словах это выглядит так: собираем пакет Windows Store App, используя сертификат, настраиваем политику на локальной машине, устанавливаем приложение и радуемся результату.

СБОРКА ПАКЕТА WINDOWS STORE APP


Для сборки мы должны иметь действующий сертификат для подписи. Для его установки достаточно открыть Package.appxmanifest двойным щелчком, выбрать вкладку Packaging и нажать кнопку Choose Certificate.
001_Choose_Certificate.jpeg
Далее либо создаем сертификат, либо выбираем существующий.
002_PickFromCertificateStore.jpeg
Теперь нужно выбрать Release вместо Debug в настройках режима сборки. Можно не изменять, но тогда нам не предложат после формирования пакета пройти валидацию.
Далее, воспользовавшись встроенными средствами VS, создаем свой пакет для установки (такой же, как и для отсылки в Windows Store). Для этого, после правого щелчка на проекте приложения с интерфейсом пользователя, выбираем Store -> Create App Packages.
001_Choose_Certificate.jpeg
Если мы не хотим размещать файл в Windows Store, выбираем в появившемся окне No. Также изменится надпись на кнопке (Sign in заменится на Next).
02_Choose_No.jpeg
Настраиваем выходные параметры.
03_Configurate_and_Choose_Create.jpeg
Нажимаем Create, ждем и получаем наш пакет. Для надежности его можно прогнать через инструмент валидации – Windows App Certification Kit.
04_Create_Packages_Complete.jpeg
В процессе валидации — приложение несколько раз запускается, закрывается, в общем, проходит ряд автоматических тестов.
05_WindowsAppCertificationKit.jpeg
Результат этих тестов – либо положительный, либо отрицательный, но здесь уже можно посмотреть отчет, в котором достаточно информативно описано, где искать возможные проблемы.
06_ValidationComplete.jpeg
После этого шага мы может отправить наше приложение в Windows Store, но мы здесь не за этим.
Теперь в указанной папке нас ждет заветный файл с расширением .appx и сертификат для установки на локальной машине (он потребуется, если у нас такого сертификата не установлено на машине).

НАСТРОЙКА ПРАВ НА ЛОКАЛЬНОЙ МАШИНЕ


Чтобы иметь возможность устанавливать приложения не только с Windows Store, нам придется настроить политику безопасности на локальной машине (на той, на которую мы и будем устанавливать наше приложение). Для этого заходим в Group Policy editor (gpedit.msc) -> Local Computer Policy -> Computer Configuration -> Administrative Templates -> Windows Components -> App Package Deployment -> Allow All Trusted Apps To Install. Там мы выбираем Enabled, сохраняем, выходим.
07_LocalGroupPolicyEditor.jpeg
Если наш компьютер не имеет Group Policy editor, то можно добиться того же результата если поправить реестр. Заменяем значение ключа HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\Windows\Appx\AllowAllTrustedApps на 1.
08_RegistryEditor.jpeg

УСТАНОВКА ПРИЛОЖЕНИЯ


Для начала установим сертификат. В папке, путь к которой мы указали для выхода, лежит и наш сертификат, который имеет такое же имя, как и наше приложение. Его нам теперь и надо установить (если конечно он еще не установлен на машину). Два раза жмем на сертификат, далее выбираем Install Certificate, выбираем Local Machine. Далее нам надо выбрать пункт Place all certificates in the following store (если мы сами не укажем, в какую категорию положить, то получим ошибку во время установки). Далее нажимаем Browse и выбираем Trusted Root Certification Authorities. И устанавливаем сертификат в этот раздел.
Теперь запускаем Windows PowerShell. И запускаем установку командой add-appxpackage C:\App\RateExchange_1.0.0.1_AnyCPU_Test\RateExchange_1.0.0.1_AnyCPU.appx, где C:\App\RateExchange_1.0.0.1_AnyCPU_Test\RateExchange_1.0.0.1_AnyCPU.appx — это путь к нашему .appx файлу.
Радуемся результату.
09_Result.jpeg

ГДЕ НАХОДЯТСЯ НАШИ ПРИЛОЖЕНИЯ


Вместо послесловия.

Windows Store App размещаются в C:\Program Files\WindowsApps. Но при попытке забраться в эту папку мы получаем предупреждение о том, что якобы сделать этого не получится.
Это нас не должно сбить с толку! Смотрим внимательно на предупреждение и находим security tab, нажимаем. Далее во вкладке Security выбираем жмем кнопку Advanced. Рядом со строкой Owner есть ссылка Change. Нажимаем ее. В открывшемся окне в поле ввода пишем имя своей учетной записи, жмем Check Names и если имена правильные – сохраняем результат. Закрываем окно с запретом. Еще раз пытаемся зайти в WindowsApps снова получаем сообщение о том, что у нас нет прав, но теперь мы можем нажать кнопку Continue и получить доступ.
Здесь лежит видео для пояснения выше сказанного про доступ к WindowsApps www.youtube.com/watch?v=Tc600fxWzlY&feature=player_embedded

ССЫЛКИ ПО ТЕМЕ:

blogs.msdn.com/b/windowsstore/archive/2012/04/25/deploying-metro-style-apps-to-businesses.aspx
www.aidanfinn.com/?p=13434
technet.microsoft.com/en-us/library/hh852635.aspx

Если что-то не так — пишите, буду рад замечаниям.
Очень надеюсь, что данная статья окажется полезной.
Tags:
Hubs:
You can’t comment this publication because its author is not yet a full member of the community. You will be able to contact the author only after he or she has been invited by someone in the community. Until then, author’s username will be hidden by an alias.