Развернуть приложение XBAP?

У нас есть приложение WPF, которое имеет два варианта с единообразным пользовательским интерфейсом и т. Д., Одно из которых запускается с рабочего стола ОС Windows, а другое - как приложение XBAP.

В настоящее время я публикую приложение XBAP на своем локальном компьютере IIS (Windows XP Pro). Также я включил полное доверие к моему сценарию по мере необходимости (конфигурация Microsoft .NET Framework 2.0, полное доверие URL) + файл pfx (для моей машины имя), который устанавливается, когда пользователь на другом компьютере вводит URL-адрес из браузера IE на своем компьютере.

Скажем, я хочу продать приложение XBAP клиенту, так как он хочет централизованное приложение, а не настольное, тогда как мне это сделать? Может ли кто-нибудь с опытом развертывания XBAP сказать мне? Должен ли я сделать настройку, которая настроит приложение на его веб-сервере и все? (при условии, что веб-сервер имеет.net 3.5 sp1) Как насчет pfx и полного доверия, я должен сказать ему сделать это?

2 ответа

Решение

Я работал в аналогичной ситуации, используя ClickOnce в качестве движка для развертывания двоичных файлов как XBAP, а также стандартного WPF. Чтобы установить веб-сайт XBAP на сайте клиента, мы бы попросили установщика создать виртуальный каталог в IIS, а затем выполнить пользовательский шаг для подписания манифестов ClickOnce. Этот шаг был необходим, поскольку приложению требовался доступ к сгенерированному файлу конфигурации, который содержал информацию о среде клиента.

Вот некоторые заметки по проблемам, которые я видел при использовании XBAP.

  • Зависимость Framework v3.0 или выше от рабочей станции Клиента. (Более общее примечание при работе с WPF, поскольку, если вы не используете управляемый рабочий стол, вам, возможно, придется развернуть и это)
  • Необъяснимо, что кэш ClickOnce пользователя будет признан недействительным, что потребует от пользователя очистки его кеша с помощью: rundll32 %windir%\system32\dfshim.dll CleanOnlineAppCache
  • Неправильная установка Framework v3.0/Internet Explorer требует повторного создания профиля пользователя, переустановки dotNet Framework или переустановки Internet Explorer.
  • Плохие сообщения об ошибках от ClickOnce, когда развертывания не удастся. Много раз он сообщал об общем исключении при развертывании, и исправление было бы одним из вышеуказанных шагов.
  • При использовании любой аутентификации перед веб-сайтом, такой как аутентификация форм ASP.Net, доверенный IIS (не во внутренней сети) или прокси-сервер, подобный ISA, в стеке Microsoft возникает проблема, из-за которой IE не сможет передать аутентификацию движок ClickOnce. Проблема в том, что IE успешно пройдет аутентификацию, но не сможет передать контекст безопасности в ClickOnce. Когда ClickOnce пытается развернуть файлы приложения, у него не будет контекста безопасности, и аутентификация не удастся. Но если вы зайдете в Свойства обозревателя -> Безопасность -> выберите "Локальная интрасеть" -> Нажмите "Пользовательский уровень...", вы увидите список настроек. Прокрутите страницу до конца и в разделе "Аутентификация пользователя -> Вход в систему" ​​-> убедитесь, что выбран параметр "Автоматический вход в систему с использованием текущего имени пользователя и пароля". Это должно позволить IE передавать информацию об аутентификации по клику приложений.

Для запуска приложения XBAP вашему клиенту также необходимо запустить.NET Framework. Невозможно запустить XBAP без установленного.NET Framework.

По умолчанию вашему приложению предоставляется только частичное разрешение. Чтобы включить FullTrust, необходимо либо предоставить разрешение URL-адресу вашего приложения на клиенте:

caspol -m -ag 1 -url "http://server/app/*" FullTrust -exclusive on

или вы можете добавить сертификат безопасности в доверенные сертификаты клиента. Пошаговое руководство доступно здесь: Как запустить WPF - XBAP в качестве приложения полного доверия.

Другие вопросы по тегам