WP8 BUG: несоответствие идентификатора подписи кода при установке из хаба компании

1

Я обнаружил ошибку в Windows Phone.

Вот так:

  • Устройство зарегистрировано для двух учетных записей компании: "Foo" и "Bar".
  • У меня есть файл XAP, подписанный "Bar"
  • Если из Internet Explorer я предоставил XAP файл простую ссылку с веб-страницы, я получаю правильный диалог с надписью "Вы хотите установить приложение из" Бар "?"
  • Если я использую концентратор компании, подписанный "Foo", тогда, когда я предоставляю URL-адрес файла XAP из концентратора компании, чтобы вызвать метод InstallationManager.AddPackageAsync для установки приложения, я получаю сообщение с сообщением "Вы хотите установить приложение от "Foo"? "...

... что неправильно, поскольку "Foo" не подписал файл XAP, который я собираюсь установить.

Эта ошибка уже известна Microsoft? Есть ли способ обхода этого?

Теги:
install
windows-phone
windows-phone-8

1 ответ

1

Концентратор компании - это приложение, подобное другим, которое должно быть подписано сертификатом компании для развертывания на мобильных устройствах.

   InstallationManager.AddPackageAsync(String, Uri) 

Это устанавливает удаленный файл.xap на мобильном устройстве.

   InstallationManager.FindPackagesForCurrentPublisher

позволит нам восстановить все пакеты, установленные на телефоне от SAME Publisher, которые соответствуют текущему приложению (например, приложения-концентратора). Поэтому будьте осторожны, мы больше не говорим о сертификате для идентификации пакетов, а просто Идентификатор издателя, хранящийся в файле WMAppManifest.xml. Убедитесь, что ваши пакеты имеют правильное руководство. Этот идентификатор доступен в вашей учетной записи в Windows Phone Dev Center.

Этот метод возвращает IEnumerable. Класс пакета имеет два преимущества:

  • GetThumbnailToken для извлечения приложения Thumbnail.
  • Запустите приложение непосредственно из концентратора компании.

    InstallationManager.FindPackagesForCurrentPublisher()

Этот метод возвращает все пакеты приложений (объекты пакета), установленные на телефоне, с тем же идентификатором издателя, что и приложение Company Hub, которое вызывает этот метод. Поэтому, если у вас есть приложение с другим идентификатором издателя, чем у концентратора компании, нет причин, чтобы этот концентратор компании показывал такое приложение. Так может быть через приложение-концентратор, идентификатор издателя изменяется на идентификатор приложения-концентратора.. или все приложения, установленные через концентратор, имеют тот же идентификатор издателя, что и концентраторы.

  • 0
    Спасибо за ваш ответ, и извините за поздний ответ.
  • 1
    Я полностью согласен с вами, что сценарий использования для воспроизведения ошибки, которую я видел, не логичен. Однако это могло произойти. Предположим, у вас есть каталог приложений, доступных для установки, каждый XAP-файл имеет одно и то же значение идентификатора издателя в WMAppManifest.xml, но некоторые из XAP-файлов подписаны сертификатом CompanyA, тогда как другие подписаны сертификатами CompanyB (логично, но возможно). Затем, если ваш концентратор компании подписан компанией CompanyA, установка приложения, подписанного компанией CompanyB, покажет вам диалоговое окно с сообщением «Хотите установить приложение от компании CompanyA?» ... Это то, что я считаю неправильным.
Показать ещё 2 комментария

Ещё вопросы

Сообщество Overcoder
Наверх
Меню