Подтвердить что ты не робот

Windows Phone 8.1 Приложения Google для Google - невозможно установить приложение для компании

У меня возникают проблемы с попыткой развернуть любое приложение HTML для Windows Phone 8.1 в качестве приложения для компании. Приложение, которое я разработал, использует проект Visual Studio Apache Cordova Apps, но я также проверил созданный вручную .appx, Blank App (Universal Windows 8.1) и Blank App (Windows Phone)... последние два по-видимому, по сути являются одним и тем же типом проекта, Universal - это просто решение с проектом Windows 8.1.

Я всегда получаю сообщение об ошибке, подробно описанное ниже, когда я пытаюсь его установить (пробовал по-разному из электронной почты, Интернета и локальных папок телефона.

Установка приложения С# Windows Phone 8.1 Hub App прекрасно работает с использованием одного и того же рабочего процесса.


Сообщение об ошибке

Не удается установить корпоративное приложение

Проблема с этим приложением. Обратитесь за помощью к специалисту поддержки


Окружение среды

  • Windows 8.1 Enterprise
  • Visual Studio Enterprise 2015 с кросс-платформенной мобильной разработкой > HTML/JavaScript (Apache Cordova) Обновление 1
  • Аккаунт Windows Enterprise Developer с сертификатом подписи Symantec Code для Windows® Phone Private Enterprise
  • Разработчик Unlocked Nokia Lumia 635 или компания MDM зарегистрирована Nokia Lumia 635

Типы рабочих проектов

  • Hub App (Windows Phone) [Шаблоны > Visual С# > Windows > Windows 8 > Телефон Windows]
  • предположительно любой другой тип проекта С# (не проверен)

Ошибка типов проектов

  • Blank App (Apache Cordova) [Шаблоны > Другие языки > TypeScript > Приложения Apache Cordova]
  • Blank App (Universal Windows 8.1) [Шаблоны > Другие языки > JavaScript > Windows > Windows 8 > Универсальный]
  • Blank App (Windows Phone) [Шаблоны > Другие языки > JavaScript > Windows > Windows 8 > Windows Phone]
  • Вручную создается приложение с одним HTML файлом, используя базовый шаблон AppxManifest.xml из Microsoft и MakePri.exe, MakeApp.exe

Workflow

  • Создайте соответствующий тип проекта из Visual Studio
  • Измените файл Phone.appxmanifest, чтобы издатель соответствовал сертификату Symantec Subject и имел наш PhonePublisherID
  • Щелкните правой кнопкой мыши проект, "Сохранить > Создать пакеты приложений..."
  • Пройдите мастер, выбрав "Нет" в Windows Store, чтобы никогда не связывать и не создавать версию Release.
  • Используйте SignTool.exe или BuildMDILAPPX.ps1 для подписания пакета с помощью нашего сертификата
  • Установите файл AET.aetx на телефон, если он еще не был
  • Установите приложение на телефоне (из электронной почты, Интернета или локальной папки).
  • Ошибка
4b9b3361

Ответ 1

Ответ, когда он пришел, довольно прост, если не очень очевиден. Microsoft заявила

В Windows Phone 8.1 существует известная проблема, которая потребовала, чтобы корпоративные пакеты appx имели этот файл [CodeIntegrity.cat].

На странице на странице есть проблема с устранением неполадок, связанных с упаковкой, развертыванием и запросом приложений Windows Store в разделе APPX_E_MISSING_REQUIRED_FILE (хотя вы не знаете, t на самом деле получить этот код ошибки при развертывании подписанного фирменного приложения, и поэтому в этом случае это не является ключом). В нем указано -

Пакет недействителен, поскольку отсутствует пропущенная манифест или карта блока или файл целостности кода, но файл подписи отсутствует.

Убедитесь, что в пакете отсутствуют один или несколько из этих необходимых файлов:

\ AppxManifest.xml

\ AppxBlockMap.xml

Если пакет содержит \AppxMetadata\CodeIntegrity.cat, он также должен содержать \AppxSignature.p7x.

То, что он не говорит, это то, что (по крайней мере для меня) верно и обратное.

Если вы подписываете корпоративное приложение, в которое вставляется файл AppxSignature.p7x, тогда вы также должны иметь файл \AppxMetadata\CodeIntegrity.cat в вашем пакете .appx. Это генерируется только в том случае, если у вас есть dll в вашем проекте, а на Windows Phone 8.1 гибридные приложения могут быть написаны достаточно легко, не требуя каких-либо dll s.

Итак, я создал пустой проект Class Library (Portable for Universal Windows 8.1), построил пустой dll и ввел его в корень решения, созданного при создании приложения Cordova. Я также удалил зависимость от WinJS 2.1, поскольку это может помешать установке приложения в качестве корпоративного приложения, а файлы WinJS уже находятся в моем проекте (зависимости не могут быть перенесены на устройство при установке в качестве приложения для компании, они могут, если они развертываются из Windows Store или из Visual Studio).

Выбор "Store > Create App Packages..." теперь создает файл .appx с dll в корне, а теперь, когда я запускаю его через BuildMDILAPPX.ps1 script, a \AppxMetadata\CodeIntegrity.cat создается для пакет.

Установка этого пакета теперь работает и устанавливается успешно.