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


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

Если вы используете службы IIS (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

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

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

ClickOnce и безопасный уровень сокетов (SSL)

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

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

ClickOnce обеспечивает поддержку встроенной проверки подлинности прокси-сервера Windows, начиная с платформа .NET Framework 3.5. Директивы machine.config не требуются. ClickOnce не поддерживает другие протоколы проверки подлинности, такие как "Базовый" или "Дайджест".

Вы также можете применить исправление для платформа .NET Framework 2.0, чтобы включить эту функцию. Дополнительные сведения см. в статье FIX: сообщение об ошибке при попытке установить приложение ClickOnce, созданное в платформа .NET Framework 2.0, на клиентский компьютер, настроенный для использования прокси-сервера: "Требуется проверка подлинности прокси-сервера".

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

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

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

Примечание.

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

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

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

Дополнительные проблемы с конфигурацией сервера

необходимые разрешения Администратор istrator

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

Проблемы с проверкой подлинности сервера

При публикации на удаленном сервере с отключенным анонимным доступом вы получите следующее предупреждение:

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

Примечание.

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

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

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

Расширение имени файла Content type
.application application/x-ms-application
.manifest application/x-ms-manifest
.deploy application/octet-stream
.msu application/octet-stream
.msp application/octet-stream

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

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

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

ClickOnce поддерживает установку приложений с любого веб-сервера ИЛИ файлового сервера HTTP 1.1. ПРОТОКОЛ FTP, протокол передачи файлов, не поддерживается для установки приложений. Вы можете использовать FTP только для публикации приложений. В следующей таблице приведены следующие различия:

Тип URL-адреса Description
ftp:// Приложение ClickOnce можно опубликовать с помощью этого протокола.
http:// Приложение ClickOnce можно установить с помощью этого протокола.
https:// Приложение ClickOnce можно установить с помощью этого протокола.
file:// Приложение ClickOnce можно установить с помощью этого протокола.

Брандмауэр Windows

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

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

Расширения сервера FrontPage от Корпорации Майкрософт требуются для публикации приложений на веб-сервере Windows, использующего ПРОТОКОЛ HTTP.

По умолчанию Windows Server не устанавливает расширения сервера FrontPage. Если вы хотите использовать Visual Studio для публикации на веб-сервере Windows Server, использующего HTTP с расширениями сервера 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 с расширением< "em>" и типом MIME "application/octet-stream", он позволит загружать файлы разблокированного типа файла. (Однако не удается загрузить такие типы файлов, как *.aspx и *.asmx.)

    Инструкции по настройке типов MIME в Windows Server см. в статье "Добавление типа MIME" на веб-сайт или приложение.

Сопоставления типов контента

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

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

Проблемы с сжатием HTTP

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

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

Подробные инструкции для IIS см. в разделе "Указание дополнительных типов документов для сжатия HTTP".