Обзор развертывания ClickOnce
Обновлен: Ноябрь 2007
Технология развертывания ClickOnce позволяет создавать самообновляющиеся приложения Windows, которые способны устанавливаться и работать при минимальном участии пользователя. Технология развертывания ClickOnce служит для преодоления трех основных проблем развертывания:
Трудности обновления приложений. В случае развертывания с помощью установщика Microsoft Windows каждый раз когда приложение обновляется, пользователь должен переустановить все приложение. Технология развертывания ClickOnce позволяет предоставлять обновления автоматически. Загружаются только те части приложения, которые изменились, а затем полное, обновленное приложение повторно устанавливается из новой расположенной рядом папки.
Влияние на компьютер пользователя. В случае развертывания с помощью установщика Windows приложения часто основаны на общих компонентах, с возможностью конфликтов контроля версий. В технологии развертывания ClickOnce каждое приложение самодостаточно и не оказывает влияния на другие приложения.
Разрешения безопасности. Развертывание с помощью установщика Windows должно выполняться с правами администратора и допускает только ограниченную пользовательскую установку. Развертывание по технологии ClickOnce предоставляет пользователям, не имеющим прав администратора, возможность установки, и позволяет наделять только теми правами системы безопасности доступа к коду, которые необходимы для приложения.
В прошлом эти проблемы иногда вынуждали разработчиков принимать решение о создании веб-приложений вместо приложений Windows, принося в жертву простоте установки пользовательский интерфейс с широкими возможностями и оперативность отклика Windows Forms. Используя приложения, разворачиваемые по технологии ClickOnce, можно использовать преимущества обоих методов.
Что такое приложение ClickOnce?
Попросту говоря, приложение ClickOnce — это любое приложение Windows Presentation Foundation, Windows Forms или консоли, опубликованное с помощью технологии ClickOnce. Приложение ClickOnce можно опубликовать тремя разными способами: с веб-страницы, из общего сетевого файлового ресурса или с носителя, такого как компакт-диск. Приложение ClickOnce может быть установлено на компьютер конечного пользователя и может выполняться локально, даже когда компьютер находится в автономном режиме, или приложение может выполняться только в интерактивном режиме без постоянной установки каких-либо компонентов на компьютер конечного пользователя. Дополнительные сведения см. в разделе Выбор стратегии развертывания ClickOnce.
Приложения ClickOnce могут быть самообновляющимися; они могут проверять наличие новых версий по мере их доступности и автоматически заменять любые обновленные файлы. Разработчик может задать поведение обновления. Сетевой администратор также может управлять стратегиями обновления, например помечая обновление как обязательное. Конечный пользователь и администратор могут также откатывать обновления к более ранней версии. Дополнительные сведения см. в разделе Выбор стратегии обновления ClickOnce.
Так как приложения ClickOnce изолированы, установка и выполнение приложения ClickOnce не могут нарушить работу существующих приложений. Приложения ClickOnce самодостаточны; каждое приложение ClickOnce устанавливается и выполняется из безопасного кэша, выделенного для каждого пользователя, для каждого приложения. По умолчанию приложения ClickOnce выполняются в зонах безопасности Интернета или интрасети. При необходимости приложение может запросить повышенные уровни разрешений. Дополнительные сведения см. в разделе Развертывание и безопасность ClickOnce.
Как работает развертывание ClickOnce
Основная архитектура развертывания ClickOnce основана на двух XML-файлах манифестов: манифесте приложения и манифесте развертывания.
Манифест приложения описывает само приложение. Описание содержит сборки, зависимости и файлы, которые составляют приложение, требуемые разрешения и местоположение, где будут доступны обновления. Разработчик приложения создает манифест приложения с помощью мастера публикаций в Visual Studio 2008 или средства создания манифеста (Mage.exe) в SDK (пакет средств разработки программного обеспечения) для Windows. Дополнительные сведения см. в разделе Практическое руководство. Публикация приложения ClickOnce.
Манифест развертывания описывает порядок развертывания приложения. Описание содержит местоположение манифеста приложения и версию приложения, которая должна запускаться клиентами. Администратор разрабатывает манифест развертывания, используя средство (Mage.exe) создания манифеста в SDK для Windows.
Примечание. |
---|
Мастер публикаций в Microsoft Visual Studio 2005 создает также манифест развертывания. |
После того как манифест развертывания создан, он копируется в местоположение развертывания. Это может быть веб-сервер, общий сетевой файловый ресурс или носитель, такой как компакт-диск. Манифест приложения и все файлы приложения копируются также в местоположение развертывания, которое задается в манифесте развертывания. Это местоположение может совпадать с местоположением развертывания или оно может находиться в другом месте. При использовании Мастера публикаций в Microsoft Visual Studio 2005 операции копирования выполняются автоматически.
Примечание. |
---|
Если разработчик является также администратором (то есть, имеет административные учетные данные для веб-узла или общего файлового ресурса, в котором будет развернут манифест развертывания), этот манифест представляет собой все, что необходимо. Если разработчик не является администратором, администратор должен использовать средство командной строки, чтобы обновить и подписать манифест. |
После его развертывания в местоположении развертывания конечные пользователи могут загрузить и установить приложение, щелкнув значок, представляющий файл манифеста развертывания на веб-странице или в папке. В большинстве случаев для конечного пользователя выводится простое диалоговое окно с запросом на подтверждение установки, после которого выполняется установка, и приложение запускается без дополнительных действий пользователя. В случаях, когда приложению необходимы разрешения более высокого уровня, в диалоговом окне выводится также запрос пользователю на предоставление разрешения до того, как продолжится установка.
Приложение добавляется в пользовательское меню Пуск и в группу Установка и удаление программ в Панели управления. В отличие от других технологий развертывания ничего не добавляется в папку Файлы программ, в реестр и на рабочий стол. К тому же, для установки не требуются права администратора
Примечание. |
---|
Имеется также возможность запретить добавление приложения в меню Пуск и в группу Установка и удаление программ, в действительности заставляя приложение вести себя как какое-нибудь веб-приложение. Дополнительные сведения см. в разделе Выбор стратегии развертывания ClickOnce. |
Когда разработчик приложения создает обновленную версию приложения, он (она) генерирует также новый манифест приложения и копирует файлы в местоположение развертывания — обычно папку, родственную для папки развертывания исходного приложения. Администратор обновляет манифест развертывания, чтобы нацелить его на местоположение новой версии приложения.
Примечание. |
---|
Для выполнения этих шагов может использоваться Мастер публикаций в Microsoft Visual Studio 2005. |
Помимо местоположения развертывания манифест развертывания содержит также местоположение обновления (веб-страницу или общий сетевой файл). Свойства пункта Публикация приложения ClickOnce используются, чтобы указать время и частоту проверки приложением наличия обновлений. Поведение обновления может быть задано в манифесте развертывания, или оно может быть представлено в виде вариантов выбора в пользовательском интерфейсе приложения с помощью функций API ClickOnce. Кроме того, свойства пункта Публикация могут использоваться, чтобы сделать обновления обязательными или чтобы откатить их назад к более ранней версии. Дополнительные сведения см. в разделе Выбор стратегии обновления ClickOnce.
Таблица сравнения технологии ClickOnce с технологией установщика Windows
Сравнение функций развертывания по технологии ClickOnce и развертывания с помощью установщика Windows описывается в следующей таблице:
Функция |
ClickOnce |
Установщик Windows |
---|---|---|
Автоматическое обновление1 |
Да |
Да |
Откат назад после установки2 |
Да |
Нет |
Обновление из Интернета |
Да |
Нет |
Не влияет на общие компоненты и другие приложения |
Да |
Нет |
Предоставляемые разрешения безопасности |
Предоставляет только разрешения, необходимые для приложения (более безопасно) |
Предоставляет по умолчанию разрешения полного доверия (менее безопасно) |
Требуемые разрешения безопасности |
Зона Интернета или интрасети (полное доверие для установки с компакт-диска) |
Администратор |
Подписание манифеста приложения и манифеста развертывания |
Да |
Нет |
Интерфейс пользователя во время установки |
Одно приглашение |
Многоэлементный мастер |
Установка сборок по запросу |
Да |
Нет |
Установка общих файлов |
Нет |
Да |
Установка драйверов |
Нет |
Да (с настраиваемыми действиями) |
Установка в глобальный кэш сборок |
Нет |
Да |
Установка для нескольких пользователей |
Нет |
Да |
Добавление приложения в меню Пуск |
Да |
Да |
Добавление приложения в группу запуска |
Нет |
Да |
Добавление приложения в меню Избранное |
Нет |
Да |
Регистрация типов файлов |
Нет |
Да |
Установка временного доступа к реестру3 |
Ограниченная |
Да |
Исправление двоичных файлов |
Нет |
Да |
Местоположение установки приложения |
Кэш приложения ClickOnce |
Папка Программные файлы |
Примечания
1. С помощью установщика Windows необходимо реализовать программные обновления в коде приложения.
2. При использовании технологии ClickOnce откат доступен в меню Установка и удаление программ.
3. Развертывание ClickOnce может получить доступ к разделу реестра HKEY_LOCAL_MACHINE (HKLM) только с разрешением полного доверия.
Дополнительные сведения см. в разделе Выбор стратегии развертывания.
См. также
Задачи
Практическое руководство. Публикация приложения ClickOnce
Основные понятия
Выбор стратегии развертывания ClickOnce
Выбор стратегии обновления ClickOnce
Развертывание и безопасность ClickOnce