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


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

Применимо к: Visual Studio

В этой статье описаны распространенные ошибки, которые могут возникать при развертывании приложения ClickOnce, а также приведены шаги по устранению каждой проблемы.

Общие ошибки

При попытке найти файл приложения ничего не происходит, xml-отрисовывается в Интернете Обозреватель или появляется диалоговое окно Запуск или сохранение как

Возможная причина этой ошибки заключается в том, что типы контента (также известные как типы MIME) неправильно зарегистрированы на сервере или клиенте.

Сначала убедитесь, что сервер настроен для связывания расширения .application с типом контента "application/x-ms-application".

Если сервер настроен правильно, проверка, что на компьютере установлена платформа .NET Framework 2.0. Если платформа .NET Framework 2.0 установлен и эта проблема по-прежнему возникает, попробуйте удалить и переустановить платформа .NET Framework 2.0, чтобы повторно зарегистрировать тип контента на клиенте.

Ошибка: "Не удалось получить приложение. Файлы, отсутствующие в развертывании" или "Загрузка приложения прервана, проверка сетевых ошибок и повторите попытку позже"

Это сообщение указывает, что не удается скачать один или несколько файлов, на которые ссылается манифест ClickOnce. Самый простой способ отладить эту ошибку — попытаться скачать URL-адрес, который, по словам ClickOnce, не удается скачать. Ниже приведены некоторые возможные причины.

Ошибка скачивания при попытке установить приложение ClickOnce с .config файлом

По умолчанию приложение Windows на основе Visual Basic содержит файлApp.config . При попытке установить с веб-сервера, использующего Windows Server 2003, может возникнуть проблема, так как эта операционная система блокирует установку .config файлов по соображениям безопасности. Чтобы включить установку файла.config , выберите Использовать расширение файла .deploy в диалоговом окне Параметры публикации .

Необходимо также задать типы контента (также известные как типы MIME) соответствующим образом для файлов .application, .manifest и .deploy . Дополнительные сведения см. в документации по веб-серверу.

Дополнительные сведения см. в статье Windows Server: заблокированные типы контента.

Ошибка: приложение неправильно отформатировано; Файл журнала содержит сообщение "XML-сигнатура недопустима"

Убедитесь, что вы обновили файл манифеста и снова подписали его. Повторно опубликуйте приложение с помощью Visual Studio или используйте Mage, чтобы снова подписать приложение.

Вы обновили приложение на сервере, но клиент не скачит обновление

Эту проблему можно решить, выполнив одну из следующих задач:

  • Изучите deploymentProvider URL-адрес в манифесте развертывания. Убедитесь, что вы обновляете биты в том же расположении, на которое deploymentProvider указывает.
  • Проверьте интервал обновления в манифесте развертывания. Если для этого интервала задан периодический интервал, например один раз в шесть часов, ClickOnce не будет проверять наличие обновления, пока этот интервал не пройдет. Манифест можно изменить, чтобы проверять наличие обновления при каждом запуске приложения. Изменение интервала обновления удобно во время разработки для проверки установки обновлений, но это замедляет активацию приложений.
  • Попробуйте запустить приложение еще раз в меню Пуск. ClickOnce, возможно, обнаружил обновление в фоновом режиме, но предложит установить биты при следующей активации.

Во время обновления появляется сообщение об ошибке со следующей записью журнала: "Ссылка в развертывании не соответствует идентификатору, определенному в манифесте приложения".

Эта ошибка может возникать из-за того, что вы вручную отредактировали манифесты развертывания и приложения и привело к тому, что описание удостоверения сборки в одном манифесте стало не синхронизировано с другим. Удостоверение сборки состоит из ее имени, версии, языка и региональных параметров и маркера открытого ключа. Изучите описания удостоверений в манифестах и исправьте все различия.

Первая активация с локального диска или компакт-диска завершается успешно, но последующая активация из меню "Пуск" не выполняется.

ClickOnce использует URL-адрес поставщика развертывания для получения обновлений для приложения. Убедитесь, что расположение, на которое указывает URL-адрес, правильно.

Ошибка: не удается запустить приложение

Это сообщение об ошибке обычно указывает на проблему с установкой этого приложения в хранилище ClickOnce. Либо приложение имеет ошибку, либо хранилище повреждено. Файл журнала может сообщить, где произошла ошибка.

Чтобы устранить эту проблему, выполните следующие действия.

  1. Убедитесь, что идентификатор манифеста развертывания, идентификатор манифеста приложения и идентификатор main exe приложения являются уникальными.
  2. Убедитесь, что путь к файлу не превышает 100 символов. Если приложение содержит слишком длинные пути к файлам, вы можете превысить ограничения на максимальный путь, который можно сохранить. Попробуйте сократить пути, а затем переустановить.

Параметры PrivatePath в файле конфигурации приложения не учитываются

Чтобы использовать PrivatePath (пути проверки Fusion), приложение должно запросить разрешение на полное доверие. Попробуйте изменить манифест приложения, чтобы запросить полное доверие, а затем повторите попытку.

Во время удаления появляется сообщение "Не удалось удалить приложение"

Обычно это сообщение указывает на то, что приложение уже удалено или хранилище повреждено. После нажатия кнопки ОК запись Add/Remove Program (Добавление и удаление программы ) будет удалена.

Во время установки появится сообщение о том, что зависимости платформы не установлены.

В глобальном кэше сборок отсутствует необходимый компонент, необходимый приложению для запуска.

Публикация с помощью Visual Studio

Сбой публикации в Visual Studio

Убедитесь, что у вас есть право на публикацию на целевом сервере. Например, если вы вошли на компьютер сервера терминалов как обычный пользователь, а не администратор, у вас, вероятно, не будет прав, необходимых для публикации на локальном веб-сервере.

Если вы публикуете публикацию с URL-адресом, убедитесь, что на конечном компьютере включены серверные расширения FrontPage.

Ошибка: не удается создать веб-сайт "<site>". Компоненты для взаимодействия с расширениями сервера FrontPage не установлены

Убедитесь, что на компьютере, на котором вы публикуете публикацию, установлен компонент веб-разработки Microsoft Visual Studio. Для пользователей Express этот компонент не установлен по умолчанию.

Ошибка: не удалось найти файл Microsoft.Windows.Common-Controls, Version=6.0.0.0, Culture=*, PublicKeyToken=6595b64144ccf1df, ProcessorArchitecture=*, Type=win32.

Это сообщение об ошибке появляется при попытке опубликовать приложение WPF с включенными визуальными стилями. Чтобы устранить эту проблему, см . практическое руководство. Публикация приложения WPF с включенными визуальными стилями.

Использование Mage

Вы попытались подписаться с помощью сертификата в хранилище сертификатов и полученного пустого окна сообщения

В диалоговом окне Подписывание необходимо:

  1. Выберите Подписать с помощью хранимого сертификата.
  2. Выберите сертификат из списка; первый сертификат не выбран по умолчанию.

Нажатие кнопки "Не подписывать" вызывает исключение.

Эта проблема является известной ошибкой. Все манифесты ClickOnce должны быть подписаны. Просто выберите один из параметров подписывания и нажмите кнопку ОК.

Другие ошибки

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

Сообщение об ошибке Описание
Не удается запустить приложение. Обратитесь к издателю приложения.

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

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

Не удается получить файлы приложения. Файлы повреждены в развертывании.
Один из файлов манифеста в развертывании синтаксически недопустим или содержит хэш, который не может быть согласован с соответствующим файлом. Эта ошибка также может указывать на то, что манифест, внедренный в сборку, поврежден. Повторно создайте развертывание и повторно скомпилируйте приложение или найдите и исправьте ошибки вручную в манифестах.
Не удается получить приложение. Ошибка проверки подлинности.

Установка приложения не выполнена. Не удается найти файлы приложений на сервере. Обратитесь за помощью к издателю приложения или администратору.
Не удается скачать один или несколько файлов в развертывании, так как у вас нет разрешения на доступ к ним. Это может быть вызвано ошибкой 403 Запрещено, возвращаемой веб-сервером, которая может возникнуть, если один из файлов в развертывании заканчивается расширением, которое заставляет веб-сервер рассматривать его как защищенный файл. Кроме того, каталогу, который содержит один или несколько файлов приложения, для доступа может потребоваться имя пользователя и пароль.
Не удается скачать приложение. В приложении отсутствуют необходимые файлы. Обратитесь за помощью к поставщику приложений или системному администратору. Один или несколько файлов, перечисленных в манифесте приложения, не могут быть найдены на сервере. Убедитесь, что вы отправили все зависимые файлы развертывания, и повторите попытку.
Не удалось скачать приложение. Проверьте сетевое подключение или обратитесь к системному администратору или поставщику сетевых услуг. ClickOnce не удается установить сетевое подключение к серверу. Проверьте доступность сервера и состояние сети.
Сбой URLDownloadToCacheFile с hrESULT "<number>". Произошла ошибка при попытке скачать файл<>. Если пользователь на целевом компьютере развертывания установил параметр "Internet Обозреватель Advanced Security" "Предупреждать при переходе между безопасным и небезопасным режимами" и если URL-адрес установки устанавливаемого приложения ClickOnce перенаправляется с небезопасного сайта на защищенный сайт (или наоборот), установка завершится сбоем, так как интернет-Обозреватель предупреждение прерывает ее.

Чтобы устранить эту ошибку, можно выполнить одну из следующих задач:

— Снимите флажок безопасности.
— Убедитесь, что URL-адрес установки не перенаправляется таким образом, чтобы изменить режимы безопасности.
— полностью удалите перенаправление и укажите фактический URL-адрес установки.
Произошла ошибка записи на жесткий диск. На диске может быть недостаточно места. Обратитесь за помощью к поставщику приложений или системному администратору. Это может указывать на нехватку места на диске для хранения приложения, но также может указывать на более общую ошибку ввода-вывода при попытке сохранить файлы приложения на диск.
Не удается запустить приложение. На диске недостаточно свободного места. Жесткий диск заполнен. Очистите место и повторите попытку запуска приложения.
Слишком много развернутых активаций пытается загрузить одновременно. ClickOnce ограничивает количество различных приложений, которые могут запускаться одновременно. Это в значительной степени помогает защититься от вредоносных попыток спровоцировать атаки типа "отказ в обслуживании" на локальную службу ClickOnce. пользователи, которые пытаются запустить одно и то же приложение несколько раз подряд, в конечном итоге получат только один экземпляр приложения.
Сочетания клавиш не могут быть активированы по сети. Ярлыки для приложения ClickOnce можно запустить только на локальном жестком диске. Их нельзя запустить, открыв URL-адрес, указывающий на файл ярлыка на удаленном сервере.
Приложение слишком велико для работы в сети с частичным доверием. Обратитесь за помощью к поставщику приложений или системному администратору. Приложение, которое выполняется с частичным доверием, не может превышать половину размера квоты онлайн-приложения, которая по умолчанию составляет 250 МБ.

Ссылки