Развертывание приложения WPF

Созданные приложения Windows Presentation Foundation (WPF) необходимо развернуть. Windows и платформа .NET Framework предусматривают несколько технологий развертывания. Технология развертывания, используемая для развертывания приложения WPF, зависит от типа приложения. Этот раздел содержит для каждого типа приложения WPF краткое описание каждой из технологий развертывания и ее использования в сочетании с требованиями к развертыванию.

Технологии развертывания

Windows и платформа .NET Framework предусматривают несколько технологий развертывания, в том числе:

  • развертывание с помощью XCopy;

  • развертывание с помощью установщика Windows;

  • Развертывание ClickOnce.

Развертывание с помощью XCopy

Развертывание с помощью XCopy означает использование программы командной строки XCopy для копирования файлов из одного расположения в другое. Развертывание с помощью XСopy подходит для указанных ниже случаев.

  • Приложение является самодостаточным. Для его запуска не требуется обновлять клиент.

  • Файлы приложения должны быть перемещены из одного расположения в другое, например из места сборки (локальный диск, общая папка UNC и т. д.) в место публикации (веб-сайт, общая папка UNC и т. д.).

  • Для приложения не требуется интеграция в оболочку (добавление значка в меню "Пуск", на рабочий стол и т. д.).

Хотя технология XCopy подходит для простых сценариев развертывания, ее недостаточно, когда требуется выполнить более сложное развертывание. В частности, при использовании XCopy могут возникать дополнительные затраты на создание, выполнение и поддержку скриптов для надежного управления развертыванием. Кроме того, XCopy не поддерживает управление версиями, удаление или откат.

Установщик Windows

Установщик Windows позволяет упаковывать приложения как самодостаточные исполняемые файлы, которые можно легко распространять на клиентах и запускать. Кроме того, установщик Windows устанавливается вместе с Windows и поддерживает интеграцию с рабочим столом, меню "Пуск" и компонентом панели управления "Программы".

Установщик Windows упрощает установку и удаление приложений, но не предоставляет средства, обеспечивающие обновление установленных приложений до последней версии.

Дополнительные сведения об установщике Windows см. в разделе Развертывание с помощью установщика Windows.

развертывание ClickOnce

ClickOnce позволяет выполнять веб-развертывание приложений, не являющихся веб-приложениями. Приложения публикуются на веб-серверах или файловых серверах и развертываются с них. ClickOnce поддерживает не весь набор клиентских возможностей приложений, установленных с помощью установщика Windows. Поддерживаются следующие возможности:

  • интеграция в меню "Пуск" и элемент панели управления "Программы";

  • управление версиями, откат и удаление;

  • режим интернет-установки, в котором приложение всегда запускается из места развертывания;

  • автоматическое обновление при выходе новых версий;

  • регистрация расширений файлов.

Дополнительные сведения о развертывании с помощью ClickOnce см. в статье Развертывание и безопасность технологии ClickOnce.

Развертывание приложений WPF

Параметры развертывания для приложения WPF зависят от типа приложения. С точки зрения развертывания технология WPF поддерживает три основных типа приложений:

  • автономные приложения;

  • приложения XAML, содержащие только разметку;

  • XAML-приложения браузера (XBAP).

Развертывание автономных приложений

Автономные приложения развертываются с помощью ClickOnce или установщика Windows. В любом случае для запуска автономных приложений требуется полное доверие. Полное доверие автоматически предоставляется автономным приложениям, развернутым с помощью установщика Windows. Автономные приложения, развернутые с помощью ClickOnce, не получают полного доверия автоматически. Вместо этого ClickOnce выводит диалоговое окно с предупреждением системы безопасности, которое пользователь должен принять перед установкой автономного приложения. Если предупреждение принято, автономное приложение устанавливается и ему предоставляется полное доверие. В противном случае автономное приложение не устанавливается.

Развертывание приложений XAML, содержащих только разметку

Страницы XAML, содержащие только разметку, обычно публикуются на веб-серверах, как и страницы HTML, и их можно просматривать с помощью браузера Internet Explorer. Страницы XAML, содержащие только разметку, запускаются в изолированной среде (в режиме безопасности с частичным доверием) с ограничениями, определяемыми набором разрешений зоны Интернета. Это обеспечивает для веб-приложений HTML изолированную среду с эквивалентным уровнем безопасности.

Дополнительные сведения о безопасности приложений WPF см. в разделе Безопасность.

Страницы XAML, содержащие только разметку, можно устанавливать в локальной файловой системе с помощью XCopy или установщика Windows. Эти страницы можно просматривать с помощью браузера Internet Explorer или Проводника Windows.

Дополнительные сведения о XAML см. в статье XAML в WPF.

Развертывание приложений браузера XAML

Предупреждение

Для работы XBAPs требуются устаревшие браузеры, такие как интернет-Обозреватель и Firefox. Эти старые версии браузера обычно не поддерживаются в Windows 10 и Windows 11. Современные браузеры больше не поддерживают технологию, необходимую для приложений XBAP из-за рисков безопасности. Подключаемые модули, поддерживающие XBAP, больше не поддерживаются.

Приложения XBAP — это компилируемые приложения, для которых требуется развертывание следующих трех файлов:

  • имя_приложения.exe — исполняемый файл приложения сборки;

  • имя_приложения.xbap — манифест развертывания;

  • имя_приложения.exe.manifest — манифест приложения.

Примечание.

Дополнительные сведения о манифестах развертывания и приложений см. в разделе Построение приложения WPF.

Эти файлы создаются при сборке XBAP. Дополнительные сведения см. в разделе Практическое руководство. Создание нового проекта приложения обозревателя WPF. Подобно страницам XAML, содержащим только разметку, приложения XBAP обычно публикуются на веб-сервере и просматриваются с помощью браузера Internet Explorer.

Приложения XBAP можно развертывать на клиентских компьютерах с помощью любых технологий развертывания. Но рекомендуется использовать технологию ClickOnce, так как она предоставляет следующие возможности:

  1. автоматическое обновление при публикации новой версии;

  2. повышенные привилегии при выполнении приложения XBAP в режиме полного доверия.

По умолчанию средство ClickOnce публикует файлы приложений с расширением DEPLOY. Это поведение может привести к затруднениям, но его можно отключить. Дополнительные сведения см. в разделе Вопросы настройки сервера и клиента в развертываниях ClickOnce.

Дополнительные сведения о развертывании приложений браузера XAML (XBAs) см. в разделе Общие сведения о приложениях браузера WPF XAML.

Установка платформы .NET Framework

Для запуска приложения WPF на клиенте должна быть установлена платформа .NET Framework Майкрософт. При просмотре браузерных WPF-приложений Internet Explorer автоматически проверяет, установлена ли платформа .NET Framework на клиентском компьютере. Если платформа .NET Framework не установлена, Internet Explorer предложит пользователям установить ее.

Чтобы проверить, установлена ли платформа .NET Framework, в браузере Internet Explorer предусмотрено приложение начальной загрузки, зарегистрированное в качестве резервного обработчика расширений Multipurpose Internet Mail Extensions (MIME) для файлов содержимого со следующими расширениями: XAML, XPS, XBAP и APPLICATION. Если на момент попытки открыть файлы этих типов платформа.NET Framework не установлена на клиенте, приложение начальной загрузки запрашивает разрешение на его установку. Если разрешение не предоставляется, не устанавливаются ни платформа .NET Framework, ни приложение.

Если разрешение предоставлено, Internet Explorer скачивает и устанавливает платформу .NET Framework с помощью фоновой интеллектуальной службы передачи (BITS). После успешной установки платформы .NET Framework первоначально запрошенный файл открывается в новом окне браузера.

Дополнительные сведения см. в разделе Развертывание .NET Framework и приложений.

См. также