В браузере доверено приложение Silverlight 5 - PullRequest
8 голосов
/ 20 декабря 2011

С новым Silverlight 5 теперь у нас может быть приложение In-Browser с повышенным доверием. Однако у меня возникают некоторые проблемы при развертывании приложения.

Когда я тестирую приложение из Visual Studio, все работает нормально, потому что оно автоматически дает все права, если сайт размещен на локальном компьютере (localhost, 127.0.0.1).

Я увидел на MSDN, что мне нужно выполнить 3 шага, чтобы он работал на любом веб-сайте:

  1. Подписал XAP - я сделал это, следуя инструкции Microsoft
  2. Установите хранилище сертификатов доверенных издателей - я тоже это сделал, следуя учебному руководству Microsoft
  3. Добавление ключа реестра со значением AllowElevatedTrustAppsInBrowser.

Третий шаг - это тот, в котором я больше всего не уверен. Нужно ли добавлять этот раздел реестра на локальный компьютер или на сервер? Есть ли в Silverlight автоматическая функция для добавления этого ключа или лучше создать командный файл?

Даже с этими тремя шагами приложение все еще не работает при вызове с другого URL-адреса, отличного от localhost.

Кто-нибудь успешно реализовал в браузере приложение с повышенным доверием? Вы понимаете, что я делаю не так?

Источники:

Ответы [ 5 ]

12 голосов
/ 12 июня 2012

Есть много отличных ресурсов, описывающих этот процесс, в том числе упомянутых в ответах здесь.Я хотел задокументировать шаги, которые работали для нас.(Silverlight 5.1.10411.0)

Вот шаги, которые мы предприняли для включения доверенных приложений в браузере:

  1. Подпись файла Xap с помощью ключа подписи кода.
  2. Установите открытый ключ подписи кода в «Сертификаты-> Текущий пользователь-> Доверенные издатели»
  3. Установите ключ реестра DWORD AllowElevatedTrustAppsInBrowser = 1 в
    SL 64 bit path: HKLM\Software\Wow6432Node\Microsoft\Silverlight
    SL 32 bit path: HKLM\Software\Microsoft\Silverlight
  4. Откройте проект Silverlight втекстовый редактор и убедитесь, что существуют следующие записи:
    <RequireInBrowserElevation>true</RequireInBrowserElevation>
    <InBrowserSettingsFile>Properties\InBrowserSettings.xml</InBrowserSettingsFile>
    
  5. Убедитесь, что Properties \ InBrowserSettings.xml существует и содержит:
    <InBrowserSettings>
      <InBrowserSettings.SecuritySettings>
        <SecuritySettings ElevatedPermissions="Required" />
      </InBrowserSettings.SecuritySettings>
    </InBrowserSettings>
    

Примечание:

  • Если вы используете самозаверяющий сертификат во время тестирования, вам также необходимо установить его в «Сертификаты-> Текущий пользователь-> Доверенные корневые центры сертификации».(Купите один, прежде чем приступить к работе)
  • После того, как вы подпишете файл XAP, вы не сможете разархивировать и изменить его, так как при этом нарушается подпись (он должен быть отклонен).
  • Не забудьтеочистить кеш браузера, если вы кэшируете файл xap.
  • Это работало в Windows 7 и Windows 8 Release Preview (режим рабочего стола) с IE, Chrome, Firefox и Safari.
2 голосов
/ 25 июля 2012

Я успешно создал приложение Silverlight 5 в браузере с повышенными привилегиями Эта статья MSDN .Вы всегда можете проверить, имеет ли Ваше приложение повышенные привилегии:способ заставить это работать без выполнения IE как администратор.Если кто-нибудь знает, как это сделать, я буду признателен за помощь.

Редактировать:

Ух ты.На самом деле ссылка из поста Аарона Макивера мне очень помогла.Я только что выключил «Включить защищенный режим», и теперь он работает нормально без прав администратора.: D

1 голос
/ 20 декабря 2011

Редактирование реестра должно быть на клиентском компьютере; машина, выполняющая приложение Silverlight.

Имеется демоверсия через XAMLGEEK ; поскольку все, что вы выложили, должно привести вас в рабочее состояние. У Майка Таулти также есть отличная прогулка по .

0 голосов
/ 12 сентября 2013

У меня тоже такая же проблема

когда мы используем тестовый сертификат, который будет работать только для локальной машины.

вы должны подписать ваше приложение другим сертификатом, и оно будет работать.

ссылка на вопрос Silverlight 5 В доверенном приложении браузера

0 голосов
/ 02 января 2013

Я хотел бы подключить приложение Silverlight к сокету на порту 10001 на том же адресе хоста, на котором размещено приложение.

Возможно ли это сделать, ничего не меняя на стороне клиента?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...