Устранение неполадок, приводящих к определенным ошибкам в развертываниях ClickOnce
Обновлен: Ноябрь 2007
В этой статье перечисляются следующие распространенные ошибки, которые могут возникнуть при развертывании приложения ClickOnce, а также описываются шаги по устранению каждой проблемы.
Общие ошибки
При попытке обнаружить файл приложения ничего не происходит либо XML-данные визуализируются в Internet Explorer, либо выводится диалоговое окно "Выполнение" или "Сохранение"
Возможная причина этой ошибки связана с неправильной регистрацией типов содержимого (также известных как типы MIME) на сервере или клиенте.
Сначала убедитесь, что сервер настроен на связывание расширения ".application" с типом содержимого "application/x-ms-application".
Если сервер настроен правильно, убедитесь, что на компьютере установлено приложение .NET Framework 2.0. Если приложение .NET Framework 2.0 установлено, и эта проблема по-прежнему присутствует, попробуйте удалить и повторно установить приложение .NET Framework 2.0, чтобы повторно зарегистрировать тип содержимого на клиенте.
Сообщение об ошибке: "Не удается извлечь приложение". "В развертывании отсутствуют файлы" или "Загрузка приложения прервана, проверьте наличие сетевых ошибок и предпримите еще одну попытку позже".
Это сообщение показывает, что невозможно загрузить один или несколько файлов, на которые ссылаются манифесты ClickOnce. Простейший способ устранения этой ошибки заключается в попытке загрузить URL-адрес, который согласно сообщению приложения ClickOnce не удается загрузить. Далее перечисляются некоторые возможные причины.
Если в файле журнала содержится запись "(403) Запрещен" или "(403) Не найден", убедитесь, что веб-сервер настроен так, чтобы не блокировать загрузку этого файла. Дополнительные сведения см. в разделе Вопросы настройки сервера и клиента в развертываниях ClickOnce.
Если файл .config блокируется сервером, просмотрите далее в этой статье раздел "Ошибка загрузки при попытке установить приложение ClickOnce, имеющее файл .config".
Выясните, происходит ли это из-за того, что URL-адрес deploymentProvider в манифесте развертывания указывает на местоположение, отличное от URL-адреса, используемого для активации .
Убедитесь, что все файлы присутствуют на сервере. В журнале ClickOnce должно сообщаться, какой файл не был найден.
Проверьте, существуют ли проблемы связанности узлов сети. Это сообщение может выводиться, если во время загрузки клиентский компьютер перешел в автономный режим.
Ошибка загрузки при попытке установить приложение ClickOnce, имеющее файл ".config"
По умолчанию приложение Windows, написанное на Visual Basic, содержит файл "App.config". При попытке пользователя выполнить установку с веб-сервера, работающего под управлением Windows Server 2003, возникнет проблема, так как операционная система блокирует установку файлов ".config" по причинам обеспечения безопасности. Чтобы включить установку файла ".config", щелкните Использовать файловое расширение ".deploy" в диалоговом окне Параметры публикации.
Необходимо также надлежащим образом установить типы содержимого (также известные как типы MIME) для файлов ".application", ".manifest" и ".deploy". Дополнительные сведения см. в документации по веб-серверу.
Дополнительные сведения см. в подразделе "Windows Server 2003: заблокированные типы содержимого" раздела Вопросы настройки сервера и клиента в развертываниях ClickOnce.
Сообщение об ошибке: "Приложение неправильно отформатировано"; файл журнала содержит запись "XML-подпись не действительна"
Убедитесь, что файла манифеста обновлен и подпишите его еще раз. Повторно опубликуйте приложение с помощью Visual Studio или используйте Mage, чтобы подписать приложение еще раз.
Приложение обновлено на сервере, но клиент не загрузил обновление
Эта проблема может быть устранена путем выполнения одной из следующих задач:
Проверьте URL-адрес поставщика deploymentProvider в манифесте развертывания. Убедитесь, что обновляете сведения в том же месте, на которое указывает поставщик deploymentProvider.
Проверьте интервал обновления в манифесте развертывания. Если данный интервал установлен равным периодическому интервалу, например один раз каждые шесть часов, ClickOnce не будет выполнять сканирование на наличие обновления, пока не истечет данный интервал. Манифест можно изменить, чтобы выполнять сканирование на наличие обновления при каждом запуске приложения. Изменение интервала обновления — удобный параметр во время разработки, позволяющий проверять установку обновлений, однако он замедляет активацию приложения.
Попробуйте еще раз запустить приложение в меню "Пуск". Возможно, ClickOnce обнаружит обновление в фоновом режиме, но запросит установить данные при следующей активации.
Во время обновления возникает ошибка, имеющая в журнале следующую запись: "Ссылка в развертывании не соответствует удостоверению, определенному в манифесте приложения"
Эта ошибка может возникать при редактировании вручную манифестов развертывания и приложения, в результате которого возможно нарушение синхронизации описания удостоверения сборки в одном манифесте относительно другого манифеста. Удостоверение сборки состоит из ее имени, версии, языка и региональных параметров, а также маркера открытого ключа. Проверьте описания удостоверений в манифестах и устраните все различия.
Первоначальная активация с локального диска или компакт-диска выполнена успешно, но последующая активация из меню "Пуск" не завершилась успешно
Чтобы получить обновления для приложения, ClickOnce использует URL-адрес поставщика развертывания. Убедитесь в правильности местоположения, на которое указывает URL-адрес.
Ошибка: "Не удается запустить приложение"
Это сообщение об ошибке обычно указывает на наличие проблемы с установкой данного приложения в хранилище ClickOnce. Или в приложении имеется ошибка, или повреждено хранилище. Возможно, сведения файла журнала помогут определить, где возникла ошибка.
Необходимо выполнить следующие действия:
Убедитесь в уникальности удостоверения манифеста развертывания, удостоверения манифеста приложения и удостоверения EXE-файла главного приложения.
Убедитесь, что длина путей к файлам не превышает 100 знаков. Если приложение содержит слишком длинные пути к файлам, возможно превышение пределов максимального пути, который может сохраняться. Попробуйте укоротить пути и выполнить повторную установку.
Параметры PrivatePath в файле конфигурации приложения не приняты
Для использования PrivatePath (исследовательских путей Fusion) приложение должно запросить разрешение полного доверия. Попробуйте изменить манифест приложения, чтобы запросить разрешения полного доверия, и повторите попытку.
Во время удаления установки появляется сообщение: "Не удалось удалить установленное приложение"
Это сообщение обычно указывает на то, что приложение уже удалено или что повреждено хранилище. После нажатия кнопки OK запись Установка и удаление программ будет удалена.
Во время установки появляется сообщение, уведомляющее, что зависимости платформы не установлены
В глобальном кэше сборок отсутствуют предварительные условия, которые необходимы для выполнения приложения.
Публикация с помощью Visual Studio
Сбой публикации в Visual Studio
Убедитесь в наличии прав на публикацию на целевой сервер. Например, если вы вошли в систему компьютера конечного терминала как обычный пользователь, а не как администратор, возможно, у вас нет прав, необходимых для публикации на локальном веб-сервере.
Если публикация выполняется с URL-адресом, убедитесь, что на конечном компьютере включены серверные расширения FrontPage.
Сообщение об ошибке: Не удается создать веб-узел '<узел>'. Компоненты для взаимодействия с серверными расширениями FrontPage не установлены.
Убедитесь, что на компьютере, с которого выполняется публикация, установлен компонент веб-разработки Microsoft Visual Studio. Для пользователей Express этот компонент не устанавливается по умолчанию. Дополнительные сведения см. по адресу https://go.microsoft.com/fwlink/?LinkId=102310.
Использование Mage
Пользователем предпринята попытка подписи с помощью сертификата в его хранилище сертификатов и получено пустое поле сообщения
В диалоговом окне Подпись необходимо выполнить следующее:
Установите флажок Подпись с помощью хранимого сертификата и
Выберите сертификат из списка; первый сертификат не является выбором по умолчанию.
При нажатии кнопки "Не подписывать" выдается исключение
Эта проблема является известной ошибкой. Все манифесты ClickOnce обязательно должны быть подписаны. Достаточно выбрать один из вариантов подписания, а затем нажать кнопку OK.
Дополнительные ошибки
Некоторые из распространенных сообщений об ошибках, которые пользователь клиентского компьютера может получать при установке приложения ClickOnce, приводятся в следующей таблице. Каждое сообщение об ошибке приводится рядом с описанием наиболее вероятной причины ошибки.
Сообщение об ошибке |
Описание |
---|---|
Приложение невозможно запустить. Свяжитесь с издателем приложения. Не удается запустить приложение. Обратитесь за помощью к поставщику приложения. |
Эти сообщения об общих ошибках, которые возникают, когда приложение не удается запустить и никакой другой конкретной причины не найдено. Часто это означает, что приложение каким-либо образом повреждено или что повреждено хранилище ClickOnce. |
Продолжение невозможно. Неправильный формат приложения. Обратитесь за помощью к издателю приложения. Приложение не прошло проверку на достоверность. Продолжение невозможно. Невозможно извлечь файлы приложения. Файлы повреждены в развертывании. |
Один из файлов манифестов в развертывании синтаксически не достоверен или содержит знак фунта (#), который не согласуется с соответствующим файлом. Эта ошибка может также указывать на повреждение манифеста, встроенного в сборку. Повторно создайте развертывание и перекомпилируйте приложение или найдите и устраните ошибки вручную в используемых манифестах. |
Не удается извлечь приложение. Ошибка проверки подлинности Установка приложения не выполнена успешно. Не удается найти на сервере файлы приложений. Обратитесь за помощью к издателю приложения или администратору. |
Один или более файлов в развертывании не удается загрузить, так как отсутствует разрешение на доступ к ним. Причиной этого может быть возврат веб-сервером ошибки "403 Forbidden" (403 Запрещено), которая происходит, если один из файлов в развертывании заканчивается расширением, из-за которого веб-сервер обрабатывает этот файл как защищенный. К тому же, для доступа к каталогу, содержащему один или более файлов приложения, могут потребоваться имя пользователя и пароль. |
Не удается загрузить приложение. Для приложения отсутствуют обязательные файлы. Обратитесь за помощью к поставщику приложения или своему администратору системы. |
Не удается найти на сервере один или несколько файлов, перечисленных в манифесте приложения. Убедитесь, что все зависимые файлы развертывания переданы, и повторите попытку. |
Не удалось выполнить загрузку приложения. Проверьте сетевое подключение либо обратитесь за помощью к администратору системы или поставщику сетевых служб. |
ClickOnce не удается установить сетевое подключение к серверу. Проверьте доступность сервера и состояние сети. |
Сбой операции URLDownloadToCacheFile со значением HRESULT '<номер>' . При попытке загрузить '<файл>' произошла ошибка. |
Если пользователь установил параметр расширенной безопасности Internet Explorer ""Предупреждать при переходе между защищенным и незащищенным режимом" на целевом компьютере развертывания, и если URL-адрес настройки устанавливаемого приложения ClickOnce перенаправляет с незащищенного на защищенный узел (или наоборот), произойдет сбой установки, так как предупреждение Internet Explorer прервет процесс установки. Чтобы устранить эту проблему, можно выполнить одно из следующих действий:
|
Произошла ошибка в процессе записи на жесткий диск. Возможно, не хватает свободного места на диске. Обратитесь за помощью к поставщику приложения или своему администратору системы. |
Это может указывать на нехватку места на диске для сохранения приложения, но это может также указывать на более общую ошибку ввода-вывода, когда пытаются сохранить файлы приложения на диск. |
Не удается запустить приложение. Недостаточно свободного места на диске. |
Жесткий диск заполнен. Очистите место и повторите попытку запустить приложение. |
Слишком много развернутых активаций пытаются одновременно выполнить загрузку. |
ClickOnce ограничивает количество разных приложений, которые могут запускаться одновременно. Это должно главным образом помочь в предотвращении злонамеренных попыток проведения атак типа "отказ в обслуживании", нацеленных на локальную службу ClickOnce. Пользователи, пытающиеся многократно запустить одно и то же приложение через небольшие интервалы времени, смогут запустить лишь один экземпляр приложения. |
Не удается активировать ярлыки по сети. |
Ярлыки для приложения ClickOnce можно запустить только на локальном жестком диске. Их невозможно запустить путем открытия URL-адреса, указывающего на файл ярлыков на расположенном удаленно сервере. |
Приложение слишком велико для работы в интерактивном режиме с частичным доверием. Обратитесь за помощью к поставщику приложения или своему администратору системы. |
Приложение, выполняющееся с частичным доверием, не может быть больше половины размера квоты интерактивного приложения, которая по умолчанию равна 250 МБ. |
См. также
Основные понятия
Устранение неполадок развертывания ClickOnce