Поделиться через


Вопросы настройки сервера и клиента в развертываниях ClickOnce

При использовании служб IIS в среде Windows Server, если развертывание содержит тип файла, который не распознается Windows (например, файл Microsoft Word), службы IIS откажут в передаче этого файла, и развертывание завершится неудачей.

Кроме того, программное обеспечение некоторых веб-серверов и веб-приложений, например ASP.NET, содержит список файлов и типов файлов, которые невозможно загрузить. Например, ASP.NET запрещает загрузку всех файлов Web.config. Эти файлы могут содержать секретные сведения, такие как имена пользователей и их пароли.

Хотя это ограничение не должно приводить к проблемам загрузки основных файлов ClickOnce, таких как манифесты и сборки, это ограничение может препятствовать загрузке файлов данных, включаемых как часть приложения ClickOnce. В ASP.NET можно устранить эту ошибку путем удаления обработчика, который запрещает загрузку таких файлов, из диспетчера конфигурации служб IIS. Дополнительные сведения см. в документации на сервер IIS.

Некоторые веб-серверы могут блокировать файлы с расширениями, такими как DLL, CONFIG и MDF. Обычно приложения Windows содержат файлы с некоторыми из этих расширений. Если пользователь попытается запустить приложение ClickOnce, которое обращается к блокированному файлу на веб-сервере, возникнет ошибка. Вместо разблокирования всех расширений файлов ClickOnce публикует по умолчанию каждый файл приложения с расширением файла ".deploy". Поэтому администратору необходимо настроить веб-сервер только на разблокирование трех расширений файлов:

  • APPLICATION

  • MANIFEST

  • DEPLOY

Однако этот режим можно отключить, сняв флажок Использовать расширение файла ".deploy" в Диалоговое окно "Параметры публикации", в таком случае необходимо настроить веб-сервер, чтобы разблокировать все расширения файлов, используемые в приложении.

Например, потребуется настроить ".manifest", ".application" и ".deploy", если используются службы IIS в случаях, когда не выполнена установка .NET Framework, либо если применяется другой веб-сервер (например, Apache).

ClickOnce и протокол SSL (Secure Sockets Layer)

Приложение ClickOnce отлично работает по протоколу SSL за исключением случаев, когда Internet Explorer инициирует запрос SSL-сертификата. Запрос может инициироваться, когда с сертификатом что-нибудь не так, например когда имена узлов не совпадают или когда истек срок действия сертификата. Чтобы заставить ClickOnce работать через SSL-подключение, убедитесь, что сертификат обновлен и что дата сертификата совпадает с датой узла.

ClickOnce и проверка подлинности прокси-сервера

ClickOnce предоставляет поддержку встроенной проверки подлинности прокси-сервера в Windows, начиная с версии .NET Framework 3.5. Никаких специальных инструкций в файле machine.config не требуется. ClickOnce не поддерживает другие протоколы проверки подлинности, такие как "Обычная проверка подлинности" или "Краткая проверка подлинности".

Можно применить исправление к платформе .NET Framework 2.0 для включения этой функциональности. Дополнительные сведения см. в разделе https://go.microsoft.com/fwlink/?LinkId=158730.

Дополнительные сведения см. в разделе Элемент <defaultProxy> (параметры сети).

Совместимость ClickOnce и веб-обозревателя

В настоящее время установки ClickOnce запускаются только в том случае, если URL-адрес для манифеста развертывания открывается с помощью Internet Explorer. Развертывание, URL-адрес которого открывается из другого приложения, например Microsoft Office Outlook, успешно запускаются только в том случае, если Internet Explorer установлен в качестве веб-обозревателя по умолчанию.

Примечание

Обозреватель Mozilla Firefox так же поддерживается, но только в том случае, если поставщик развертывания не является пустым или установлено расширение Microsoft .NET Framework Assistant.Данное расширение входит в состав пакета обновления 1 (SP1) для .NET Framework 3.5.Для поддержки XBAP при необходимости активируется подключаемый модуль NPWPF.

Активация приложений ClickOnce с помощью сценариев обозревателя

Если разработана специальная веб-страница, которая запускает приложение ClickOnce с помощью активных сценариев, может оказаться, что приложение не запускается на некоторых компьютерах. Internet Explorer содержит параметр Автоматический запрос загрузки файлов, который влияет на данный алгоритм поведения. Этот параметр доступен на вкладке Безопасность в меню Параметры и влияет на данный алгоритм поведения. Он называется Автоматический запрос загрузки файлов и содержится в категории Загружаемые файлы. Значение свойства установлено равным Enable (Включено) по умолчанию для веб-страниц интрасети и равным Disable (Выключено) по умолчанию для веб-страниц Интернета. Когда для этого параметра установлено значение Отключить, любая попытка активировать приложение ClickOnce программным способом (например путем назначения его URL-адреса свойству document.location) будет блокироваться. В этих условиях пользователи могут запускать приложения только через инициируемую пользователем загрузку, например щелкая гиперссылку, установленную для URL-адреса приложения.

Дополнительные вопросы настройки сервера

Требуемые права администратора

Для публикации с помощью протокола HTTP необходимо обладать правами администратора на целевой сервер. Данный уровень разрешений требуется для служб IIS. Если публикация по протоколу HTTP не выполняется, необходимо только разрешение на запись по конечному пути.

Вопросы проверки подлинности сервера

При публикации на расположенный удаленно сервер, для которого выключен "Анонимный доступ", будет выводиться следующее предупреждение:

"The files could not be downloaded from http://<remoteserver>/<myapplication>/.  The remote server returned an error: (401) Unauthorized."

Примечание

Можно заставить работать проверку подлинности NTLM (запрос-ответ NT), если узел запрашивает учетные данные, отличные от учетных данных по умолчанию, и в диалоговом окне безопасности нажимается кнопка OK в ответ на запрос, следует ли сохранить предоставляемые учетные данные для будущих сеансов работы.Однако этот искусственный прием не работает для обычной проверки подлинности.

Использование веб-серверов сторонних компаний

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

Расширение имени файла

Тип содержимого

.application

application/x-ms-application

.manifest

application/x-ms-manifest

.deploy

application/octet-stream

.msu

application/octet-stream

.msp

application/octet-stream

ClickOnce и подключенные диски

Если для публикации приложения ClickOnce используется Visual Studio, в качестве расположения для установки нельзя указать подключенный диск. Чтобы установить приложение ClickOnce с подключенного диска, в него можно внести изменения с помощью средства создания и редактирования манифеста (Mage.exe и MageUI.exe). Дополнительные сведения см. в разделах Mage.exe (средство создания и редактирования манифеста) и MageUI.exe (средство создания и редактирования манифестов, графический клиент).

Протокол FTP не поддерживается для установки приложений

ClickOnce поддерживает установку приложений с любого файлового сервера или веб-сервера HTTP 1.1. Протокол FTP (File Transfer Protocol) не поддерживается для установки приложений. Протокол FTP можно использовать только для публикации приложений. Эти различия обобщены в следующей таблице:

Тип URL-адреса

Описание

ftp://

С помощью этого протокола можно опубликовать приложение ClickOnce.

http://

Используя этот протокол, можно установить приложение ClickOnce.

https://

Используя этот протокол, можно установить приложение ClickOnce.

file://

Используя этот протокол, можно установить приложение ClickOnce.

Windows XP с пакетом обновления 2 (SP2): брандмауэр Windows

По умолчанию в Windows XP с пакетом обновления 2 (SP2) брандмауэр Windows включен. Если приложение разрабатывается на компьютере с установленной операционной системой Windows XP, по-прежнему можно публиковать и выполнять приложения ClickOnce с локального сервера, на котором выполняются службы IIS. Однако если не открыт брандмауэр Windows, невозможно получить доступ к этому серверу, на котором выполняются службы IIS, с другого компьютера. Инструкции по управлению брандмауэром Windows см. в справке Windows.

Windows Server: включение серверных расширений FrontPage

Для публикации приложений на веб-сервер Windows, работающий по протоколу HTTP, необходимы серверные расширения FrontPage от корпорации Майкрософт.

По умолчанию в Windows Server серверные расширения FrontPage не установлены. Чтобы использовать Visual Studio для публикации на работающий по протоколу HTTP веб-сервер Windows Server с серверными расширениями FrontPage, необходимо сначала установить серверные расширения FrontPage. Установить их можно с помощью средства администрирования "Управление данным сервером", предусмотренного в Windows Server.

Windows Server: блокированные типы контента

Службы IIS в Windows Server 2003 блокируют файлы всех типов за исключением определенных известных типов содержимого (например, .htm, .html, .txt и так далее) . Чтобы включить развертывание приложений ClickOnce, используя этот сервер, необходимо изменить параметры служб IIS для разрешения загрузки файлов типа ".application", ".manifest" и любых других настраиваемых типов файлов, используемых приложением.

Если развертывание выполняется с помощью сервера IIS, запустите программу inetmgr.exe и добавьте новые типы файлов для веб-страницы по умолчанию:

  • Для расширений ".application" и ".manifest" тип MIME должен быть равен "application/x-ms-application". Для других типов файлов тип MIME должен быть равен "application/octet-stream."

  • Если создан тип MIME с расширением "*" и тип MIME "application/octet-stream", разрешается загрузка файлов незаблокированных типов. (Однако файлы заблокированных типов, таких как ".aspx" и ".asmx", не могут быть загружены.)

Конкретные инструкции по настройке типов MIME в Windows Server см. в статье KB326965, "Службы IIS 6.0 не обслуживают неизвестные типы MIME" базы знаний Майкрософт по адресу https://support.microsoft.com/default.aspx?scid=kb;ru-ru;326965.

Сопоставления типов содержимого

При публикации по протоколу HTTP тип содержимого (также известный как тип MIME) для файла с расширением ".application" должен быть равен "application/x-ms-application". Если на сервере выполнена установка .NET Framework 2.0, эта настройка задается автоматически. Если это программное обеспечение не установлено, тогда необходимо создать ассоциацию MIME-типа для виртуального корня приложения ClickOnce (или всего сервера).

Если развертывание выполняется с помощью сервера IIS, запустите программу inetmgr.exe и добавьте для расширения ".application" новый тип содержимого, равный "application/x-ms-application".

Вопросы HTTP-сжатия

С помощью ClickOnce можно выполнять загрузки, использующие HTTP-сжатие, технологию веб-сервера, которая применяет алгоритм GZIP для сжатия потока данных перед отправкой потока клиенту. Клиент — в данном случае ClickOnce — разворачивает поток, прежде чем прочитать файлы.

Если используются службы IIS, можно легко включить HTTP-сжатие. Однако при включении HTTP-сжатия оно включается только для определенных типов файлов — а именно, HTML-файлов и текстовых файлов. Чтобы включить сжатие для сборок (.dll), XML (.xml), манифестов развертывания (.application) и манифестов приложений (.manifest), необходимо добавить эти типы файлов в список типов для сжатия службами IIS. Пока типы файлов не добавлены в развертывание, будут сжиматься только текстовые файлы и HTML-файлы.

Дополнительные инструкции по IIS см. в статье How to specify additional document types for HTTP compression.

См. также

Основные понятия

Устранение неполадок развертывания ClickOnce

Выбор стратегии развертывания ClickOnce

Предварительные условия для развертывания приложения