Вопросы настройки сервера и клиента в развертываниях ClickOnce
Обновлен: Ноябрь 2007
Если используются службы IIS (Internet Information Services) в среде Windows Server 2003, и развертывание содержит тип файла, который не опознается 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. Никаких специальных инструкций в файле machine.config не требуется. ClickOnce не поддерживает другие протоколы проверки подлинности, такие как "Обычная проверка подлинности" или "Краткая проверка подлинности".
Дополнительные сведения см. в разделе Элемент <defaultProxy> (параметры сети).
Совместимость ClickOnce и веб-обозревателя
В настоящее время установки ClickOnce запускаются только в том случае, если URL-адрес для манифеста развертывания открывается с помощью Internet Explorer. Развертывание, URL-адрес которого открывается из другого приложения, например Microsoft Office Outlook, успешно запускаются только в том случае, если Internet Explorer установлен в качестве веб-обозревателя по умолчанию.
Примечание. |
---|
Обозреватель Mozilla Firefox так же поддерживается, но только если поставщик развертывания не является пустым, и установлена надстройка ClickOnce для Firefox. |
Активация приложений ClickOnce с помощью сценариев обозревателя
Если разработана специальная веб-страница, которая запускает приложение ClickOnce с помощью активных сценариев, может оказаться, что приложение не запускается на некоторых компьютерах. Internet Explorer содержит параметр Автоматический запрос загрузки файлов, который влияет на данный алгоритм поведения. Этот параметр доступен на вкладке Безопасность в меню Параметры и влияет на данный алгоритм поведения. Он называется Автоматический запрос загрузки файлов и содержится в категории Загружаемые файлы. Значение свойства установлено равным Enable (Включено) по умолчанию для веб-страниц интрасети и равным Disable (Выключено) по умолчанию для веб-страниц Интернета. Когда для этого параметра установлено значение 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 |
Протокол 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 2003: включение серверных расширений FrontPage
Для публикации приложений на веб-сервер Windows, использующий протокол HTTP, требуются серверные расширения FrontPage 2002 от корпорации Майкрософт.
По умолчанию в Windows Server 2003 отсутствуют установленные серверные расширения FrontPage 2002. Если требуется использовать Visual Studio для публикации на веб-сервер Windows Server 2003, применяющий протокол HTTP с серверными расширениями FrontPage 2002, необходимо сначала установить серверные расширения FrontPage 2002. Такую установку можно выполнить с помощью средства администрирования сервера, входящего в состав Windows Server 2003.
Windows Server 2003: блокированные типы содержимого
Службы 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 2003 см. в статье 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 см. в статье "Способ указания дополнительных типов документов для HTTP-сжатия" в интерактивной базе знаний MSDN (со страницы поиска в базе знаний, поиск строки "234497").
См. также
Основные понятия
Устранение неполадок развертывания ClickOnce