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


Выполнение обновлений приложения службой ClickOnce

Обновлен: Ноябрь 2007

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

Исправление файлов

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

Исправление файлов работает также для сборок, которые загружаются по запросу с помощью методов DownloadFileGroup и DownloadFileGroupAsync.

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

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

См. также

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

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

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