ClickOnce
Информация должна быть проверяема, иначе она может быть поставлена под сомнение и удалена.
Вы можете отредактировать эту статью, добавив ссылки на авторитетные источники.
Эта отметка установлена 28 июня 2010.
ClickOnce — технология Майкрософт для развёртывания приложений, основанных на фреймворках Windows Forms или Windows Presentation Foundation. Она подобна технологии Java Web Start для Java Platform. Данная технология доступна с версии .NET 2.0 и выше.
Описание
ClickOnce позволяет пользователю устанавливать и запускать Windows приложение кликая по ссылке на веб-странице, либо в сетевом окружении. Основной принцип ClickOnce — простое развертывание Windows-приложений пользователем. Кроме того, ClickOnce нацелена на решения трех других проблем связанных с обычной моделью развертывания:
- сложность в обновлении развертываемого приложения;
- воздействие приложения на компьютер пользователя;
- необходимость административных полномочий для установки приложения.
ClickOnce-приложения изолированы друг от друга, и одно приложение не может повлиять на работу других.
Ссылки
- Введение в развертывание ClickOnce
.NET Framework | |
---|---|
Архитектура | Base Class Library • Common Language Infrastructure • .NET assembly • метаданные • COM Interop |
Инфраструктура | Common Language Runtime • Common Type System • Common Intermediate Language • Virtual Execution System • Dynamic Language Runtime |
Языки Microsoft | C# • Cω • Visual Basic .NET • C++/CLI(Managed) • Visual J# • JScript .NET • Windows PowerShell • IronPython • IronRuby • F# • Spec# • Sing# |
Другие языки | A# • Boo • IronLisp • L# • Nemerle • P# • PascalABC.NET • PHP • Scala • Cobra • Delphi Prism |
Windows Foundations | Presentation • Communication • Workflow |
Компоненты | ADO.NET (Entity Framework·Data Services) ·ASP.NET (AJAX·MVC· Dynamic Data) ·.NET Remoting·Language Integrated Query·Windows CardSpace·Windows Forms·XAML·ClickOnce· Dynamic Language Runtime · Parallel FX Library (PLINQ · TPL) |
Реализации | DotGNU • Mono • .NET Compact Framework (Xbox 360) • .NET Micro Framework • Portable.NET • XNA Framework • Silverlight • Shared Source Common Language Infrastructure |
Сравнения | C# и Java • C# и Visual Basic .NET |
Будущие технологии | Acropolis • Jasper |
- .NET Framework
Wikimedia Foundation . 2010 .
- Cleveland Jr.’s Cherry Bomb
- Ложнопищуховые
Полезное
Смотреть что такое «ClickOnce» в других словарях:
- ClickOnce — ist eine Technik von Microsoft, die es ermöglicht, Windows Anwendungen über das Internet mit nur einem Klick zu starten. Solche Anwendungen sind auch unter dem Namen Smart Clients bekannt. Es unterstützt mit Windows Forms oder Windows… … Deutsch Wikipedia
- ClickOnce — est la technique Microsoft qui permet à l utilisateur d un système Windows d installer et de lancer une application en cliquant sur un lien dans une page web. ClickOnce est un composant du framework Microsoft .NET, à partir de la version 2.0 de… … Wikipédia en Français
- ClickOnce — Installation of a ClickOnce application ClickOnce is a Microsoft technology that enables the user to install and run a Windows application by clicking a link in a web page. (Such applications are known as Smart clients.) ClickOnce is a component… … Wikipedia
- APazari Desktop — Infobox Software name = aPazari Desktop 2008 (Windows) caption = The Dashboard in aPazari Desktop developer = aPazari latest release version = aPazari Desktop 2008 latest release date = Dec 22, 2007 operating system = Microsoft Windows Vista,… … Wikipedia
- Firefox — For other uses, see Firefox (disambiguation). Phoenix (web browser) redirects here. For the Phoenix browser based on tkWWW, see tkWWW. Firefox … Wikipedia
- Visual Basic .NET — Paradigm(s) Structured, imperative, object oriented and declarative Appeared in 2001 Designed by Micro … Wikipedia
- ASP.NET — Not to be confused with UNESCO ASPNet. ASP.NET Developer(s) Microsoft Initial release January 2002 Stable release 4.0.30319.1 (4.0) / 12 April 2010; 18 months ago (2010 04 12) … Wikipedia
- Windows Presentation Foundation — This subsystem is a part of .NET Framework 3.0 Developed by Microsoft, the Windows Presentation Foundation (or WPF) is a computer software graphical subsystem for rendering user interfaces in Windows based applications. WPF, previously known as… … Wikipedia
- Java Web Start — is a framework developed by Sun Microsystems which allows application software for the Java Platform to be started directly from the Internet using a web browser. Unlike Java applets, Web Start applications do not run inside the browser, and the… … Wikipedia
- Microsoft Silverlight — Developer(s) Microsoft Corporation Initial release April 2007; 4 years ago (200 … Wikipedia
- Обратная связь: Техподдержка, Реклама на сайте
- Путешествия
Экспорт словарей на сайты, сделанные на PHP,
WordPress, MODx.
- Пометить текст и поделитьсяИскать в этом же словареИскать синонимы
- Искать во всех словарях
- Искать в переводах
- Искать в ИнтернетеИскать в этой же категории
Модель ClickOnce
Хотя ClickOnce поддерживает несколько типов развертывания, общая модель разработана так, чтобы сделать веб-развертывание практичным и легким. Вот как это работает. Среда Visual Studio используется для публикации приложения ClickOnce на вебсервере. Затем пользователь переходит на автоматически сгенерированную страницу (по имени publish.htm), которая предлагает ссылку для установки приложения. Когда пользователь щелкает на этой ссылке, приложение загружается, устанавливается и добавляется в меню Пуск. На рисунке показан этот процесс:
Хотя ClickOnce — идеальный выбор для веб-развертывания, та же базовая модель подходит и для других сценариев, включая следующие:
- развертывание приложения из общедоступного сетевого ресурса;
- развертывание приложения с CD- или DVD-диска;
- развертывание приложения на веб-сервере или общедоступном сетевом ресурсе с последующей отправкой по электронной почте ссылки на программу установки.
Веб-страница установки не создается на общедоступном сетевом ресурсе, CD- или DVD-диске. Вместо этого пользователи устанавливают приложение непосредственным запуском программы setup.exe.
Наиболее интересная часть развертывания ClickOnce заключается в его способе поддержки обновления. По сути дела, вы (как разработчик) управляете несколькими установками обновления.
Например, вы можете сконфигурировать приложение для автоматической проверки наличия обновлений через определенные промежутки времени. Когда пользователь запускает приложение, в действительности он сначала запускает тонкую прослойку, которая проверяет наличие новой версии и предлагает пользователю загрузить ее.
Можно даже сконфигурировать приложение для использования веб-подобного интерактивного режима. В этом случае приложение должно запускаться со специальной веб-страницы ClickOnce. Приложение по-прежнему кэшируется локально для достижения оптимальной производительности, но пользователи не смогут запустить его до тех пор, пока не подключатся к сайту, на котором это приложение опубликовано. Это гарантирует, что они всегда будут запускать последнюю, самую современную версию приложения.
Ограничения ClickOnce
Развертывание ClickOnce не позволяет повсеместное конфигурирование. Многие аспекты его поведения жестко фиксированы — либо чтобы гарантировать согласованное восприятие пользователем, либо для обеспечения политик безопасности, подходящих для предприятий.
Ниже перечислены ограничения технологии ClickOnce:
- Приложения ClickOnce устанавливаются для единственного пользователя. Установка приложения для всех пользователей рабочей станции невозможна.
- Приложения ClickOnce всегда устанавливаются в управляемую системой папку, специфичную для пользователя. Изменить или повлиять на выбор папки, куда устанавливается приложение, нельзя.
- Если приложения ClickOnce устанавливаются в меню Пуск, они получат всего два ярлыка: один запускает приложение, а другой — открывает в браузере справочную веб-страницу. Изменить это не удастся, равно как не получится добавить приложение ClickOnce в группу Startup (Автозагрузка), меню Favorites (Избранное) и т.п.
- Нельзя изменять пользовательский интерфейс мастера установки. Это значит, что добавлять новые диалоговые окна, изменять текст в существующих окнах и т.п. невозможно.
- Нельзя изменять страницу установки, сгенерированную приложениями ClickOnce. Однако после генерации можно отредактировать HTML-разметку вручную.
- Развертывание ClickOnce не позволяет устанавливать разделенные компоненты в кэш глобальных сборок (GAC).
- Развертывание ClickOnce не дает возможность выполнять специализированные действия (такие как создание базы данных или конфигурирование настроек реестра).
Некоторые из перечисленных ограничений можно обойти. Например, приложение может быть сконфигурировано на добавление настроек реестра при его первом запуске на новом компьютере. Однако если предъявлены сложные требования к установке, то намного лучше обратиться к созданию полноценной специальной программы установки. Можно воспользоваться инструментами от независимых разработчиков вроде InstallShield или же создать проект установки в Visual Studio.
Наконец, следует отметить, что .NET позволяет построить специальную программу установки, использующую технологию развертывания ClickOnce. Это дает возможность проектировать сложные приложения установки, не жертвуя при этом средствами автоматического обновления, которые предлагаются ClickOnce. Однако есть и некоторые недостатки. Этот подход не только заставляет писать (и отлаживать) большой объем кода, но также требует использования унаследованных классов из комплекта инструментов Windows Forms для построения пользовательского интерфейса установки.
Использование ClickOnce и прокси-сервера
ClickOnce — технология Майкрософт для развёртывания приложений. Приложения ClickOnce могут проверять наличие новых версий по мере их доступности и автоматически заменять любые обновленные файлы, что очень удобно.
Бывает так, что для управления доступом пользователей к Интернету и ресурсам внешней сети используется прокси-сервер (с аутентификацией или без). ClickOnce предоставляет поддержку встроенной проверки подлинности прокси-сервера в Windows, начиная с версии .NET Framework 3.5, но не поддерживает другие протоколы проверки подлинности, такие как «Обычная проверка подлинности» или «Краткая проверка подлинности».
Если не используется проверка подлинности, мы можем настроить прокси с помощью элемента defaultProxy:
Но если компьютер настроен на использование прокси-сервера, требующего проверки подлинности, при попытке обновления мы получим следующую ошибку, даже если укажем свои Credentials:
Удаленный сервер возвратил ошибку: (407) требуется проверка подлинности прокси.
Это происходит потому, что каждый раз, когда загружается файл с помощью класса SystemNetDownloader, учетные данные сбрасываются на данные по умолчанию.
Решаем эту проблему следующим образом:
Создаем свой класс прокси: CustomUserProxy
public class CustomUserProxy : IWebProxy < private WebProxy _webProxy; public CustomUserProxy(Uri uri) < _webProxy = new WebProxy(uri); >public ICredentials Credentials < get < return _webProxy.Credentials; >set < >> public Uri GetProxy(Uri destination) < return _webProxy.GetProxy(destination); >public bool IsBypassed(Uri host) < return _webProxy.IsBypassed(host); >/// /// Альтернативный метод, который устанавливает Credentials /// /// Учетные данные для аутентификации public void SetCredentials(ICredentials credentials) < _webProxy.Credentials = credentials; >>
Используем свой прокси:
Uri uriProxy = new Uri("http://myproxy.ent:808"); CustomUserProxy customProxy = new CustomUserProxy(uriProxy); customProxy.SetCredentials(new NetworkCredential("Login", "Password")); WebRequest.DefaultWebProxy = customProxy;
Пример публикации ClickOnce
Прежде чем приступить к публикации ClickOnce, понадобится некоторая базовая информация о проекте. Дважды щелкните на узле Properties (Свойства) в окне Solution Explorer и перейдите на вкладку Publish (Публикация). Вы увидите настройки, показанные на рисунке:
Смысл всех настроек будет объяснен далее, а сначала следует указать некоторые базовые детали публикации.
Настройка издателя и продукта
Приложению для установки понадобится базовая идентичность, включающая имя издателя и название продукта, которые могут быть использованы в запросах процесса установки и в ярлыках меню Пуск.
Чтобы указать эту информацию, щелкните на кнопке Options (Параметры). Откроется диалоговое окно Publish Options (Параметры публикации) с набором дополнительных настроек, разнесенных по нескольким группам. Как показано на рисунке ниже, в списке слева выбран элемент Description (Описание), а справа находятся текстовые поля, которые позволяют указать ключевые детали: Publisher Name (Имя издателя), Suite Name (Имя комплекта) и Product Name (Имя продукта):
Эти детали важны, потому что они используются для создания иерархии меню Пуск. Если задается необязательное имя комплекта, ClickOnce создаст ярлык приложения в форме [Имя издателя] —> [Имя комплекта] —> [Имя продукта]. Если имя комплекта не указано, ClickOnce создаст ярлык [Имя издателя] —> [Имя продукта]. Ниже показано как будет выглядеть ярлык программы в меню Пуск:
Если указан URL-адрес поддержки, ClickOnce создаст дополнительный ярлык [Имя продукта] online support. Когда пользователь щелкнет на нем, запустится браузер и загрузит указанную страницу.
URL-адрес ошибки — это ссылка на веб-сайт, который будет показан (в диалоговом окне), если при попытке установки приложения возникнет ошибка.
Запуск мастера публикации
Простейший способ сконфигурировать настройки ClickOnce состоит в том, чтобы щелкнуть на кнопке Publish Wizard (Мастер публикации) внизу окна свойств, показанного на первом рисунке. В результате запустится мастер, который проведет через несколько простых шагов, чтобы собрать важную информацию. Этот мастер не предоставляет доступ ко всем средствам ClickOnce, однако это самый быстрый способ начать.
Первым выбором в мастере публикации будет выбор местоположения для публикации приложения:
В выборе местоположения первой публикации приложения нет ничего особо важного, поскольку это не обязательно то же самое место, где позже будут размещаться установочные файлы. Другими словами, можно опубликовать в локальном каталоге и затем передать файлы на веб-сервер. Единственный нюанс — перед запуском мастера публикации необходимо знать конечное место расположения файлов, поскольку эту информацию придется указывать. Без нее не будет работать функция автоматического обновления.
Разумеется, можно публиковать приложение непосредственно в конечное расположение, но это не обязательно. Фактически, локальное построение установки часто представляет собой простейший путь. Чтобы понять, как это работает, начните с выбора локального пути (например, C:\Temp\ClickOnceApp). Затем щелкните на кнопке Next (Далее). После этого возникает реальный вопрос — как пользователи будут устанавливать это приложение?
Выбор важен, потому что он влияет на стратегию обновления. Произведенный выбор будет зафиксирован в файле манифеста, поставляемом вместе с приложением.
Есть один случай, когда диалоговое окно, показанное на рисунке выше, не отображается. Если в качестве местоположения публикации вводится виртуальный каталог на веб-сервере (другими словами, URL-адрес, начинающийся с http://), то мастер предположит, что это окончательное местоположение установки.
На рисунке выше показаны три доступных выбора. Можно создать установку на сетевом файловом ресурсе, на веб-сервере или же на CD- либо DVD-диске. Ниже рассматриваются все варианты.
Публикация на сетевом файловом ресурсе
В этом случае все пользователи сети получат доступ к установке, перейдя по определенному пути UNC и запустив находящийся там файл по имени setup.exe.
Пусть UNC — это сетевой путь в форме \\ИмяКомпьютера\ИмяОбщегоРесурса. Сетевой диск использовать нельзя, поскольку он зависит от настроек системы (так что разные пользователи могут иметь разные настройки сетевых дисков). Чтобы обеспечить автоматические обновления, инфраструктура ClickOnce должна знать точно, где она сможет найти установочные файлы, и это то же самое место, где будут развернуты обновления.
Публикация для веб-сервера
Установку для веб-сервера можно создать в локальной корпоративной сети или в Интернете. Visual Studio сгенерирует HTML-файл по имени publish.htm, который упростит процесс. Пользователь запросит эту страницу в своем браузере и щелкнет на ссылке для загрузки и установки приложения.
Существует несколько способов передачи файлов на веб-сервер. Чтобы воспользоваться двухшаговым подходом (опубликовать файлы локально, а затем передать их в нужное место), просто следует скопировать файлы из локального каталога на веб-сервер, используя соответствующий механизм (вроде FTP). Удостоверьтесь, что при этом сохраняется структура каталогов.
Для опубликования файлов непосредственно на веб-сервере, минуя предварительное тестирование, есть два выбора. Если применяется IIS, и текущая учетная запись пользователя обладает достаточными привилегиями для создания нового виртуального каталога на веб-сервере (или загрузки файлов в существующий виртуальный каталог), можно опубликовать файлы непосредственно на веб-сервер. Просто укажите путь к виртуальному каталогу на первом шаге мастера. Например, в качестве местоположения публикации можно использовать http://ИмяКомпьютера/ИмяВиртуальногоКаталога (в случае корпоративной сети) или http://ДоменноеИмя/ИмяВиртуальногоКаталога (для сервера, находящегося в Интернете).
Также можно публиковать непосредственно на веб-сервер через FTP. В Интернете это часто бывает обязательным требованием (в отличие от корпоративной сети). В этом случае Visual Studio установит соединение с веб-сервером и передаст туда файлы ClickOnce no FTP. При этом для установки соединения будет запрошено имя пользователя и пароль.
Публикация для CD- и DVD-диска
В случае выбора публикации на установочный носитель вроде CD- или DVD-диска все равно понадобится решить, планируются ли автоматические обновления. Некоторые организации используют исключительно развертывание с помощью CD-дисков, в то время как другие применяют его в дополнение к веб-развертыванию или развертыванию через сетевые ресурсы. На третьем шаге мастера выбираются опции для этого конкретного случая:
Здесь доступны следующие варианты:
- Можно указать URL-адрес или путь UNC, по которому приложение будет искать обновления. Это предполагает, что приложение будет опубликовано в этом месте.
- Можно опустить эту информацию и тем самым вообще отключить функцию автоматического обновления.
- Можно опустить эту информацию, но заставить приложение ClickOnce использовать местоположение установки в качестве местоположения обновления.
Интерактивный и автономный режимы
В случае создания развертывания для веб-сервера или сетевого ресурса должна быть установлена дополнительная опция:
Выбор по умолчанию заключается в создании приложения, доступного в интерактивном и автономном режиме, которое запускается независимо от того, может пользователь подключиться к месту публикации или нет. В этом случае ярлык для запуска приложения добавляется в меню Пуск.
Если выбрано создание приложения, доступного только в интерактивном режиме, то пользователю для запуска приложения будет требоваться каждый раз обращаться к месту публикации. (На веб-странице publish.htm будет отображаться кнопка Run (Запуск) вместо Install (Установка).) Это исключит вероятность запуска старых версий приложения после применения обновлений. Данная часть модели развертывания аналогична веб-приложениям.
Когда создается приложение, доступное только в интерактивном режиме, оно по-прежнему будет загружаться (в локально кэшируемое местоположение) при первом запуске.
Таким образом, хотя первоначальное время запуска может быть больше (из-за первоначальной загрузки), приложение будет работать так же быстро, как любое обычное установленное Windows-приложение. Однако приложение не может быть запущено, если пользователь не подключен к сети или Интернету, что делает его неподходящим для мобильных пользователей (например, пользователей ноутбуков, которым не всегда доступно подключение к Интернету).
Если выбрано создание приложения, которое поддерживает автономный режим, то программа установки добавит ярлык в меню Пуск. Пользователь может запустить приложение с помощью этого ярлыка, независимо от того, подключен компьютер к сети или нет.
Если компьютер находится в интерактивном режиме, то приложение проверит наличие новых версий в месте, где опубликовано приложение. При наличии обновлений приложение предложит пользователю установить их. Позже будет показано, как сконфигурировать эту политику. При публикации для CD-диска отсутствует выбор для создания приложения, доступного только в интерактивном режиме.
Это — последний выбор в мастере публикации. Щелкните на кнопке Next, чтобы просмотреть итоговую информацию и затем на кнопке Finish (Готово) для генерации файлов развертывания и копирования их в место, указанное на первом шаге. В этот момент можно быстро переопубликовать приложение, щелкнув на кнопке Publish Now (Опубликовать сейчас) либо выбрав в меню пункт Build —> Publish [Имя приложения] (Сборка —> Опубликовать [Имя приложения]).
Развернутая файловая структура
Технология ClickOnce использует довольно простую структуру каталогов. Она создает файл setup.exe в указанном месте и подкаталог для приложения. Например, при развертывании приложения по имени ClickOnceText в каталоге с:\ClickOnceTest появляются следующие файлы:
с:\ClickOnceTest\setup.exe с:\ClickOnceTest\publish.htm с:\ClickOnceTest\ClickOnceTest.application с:\ClickOnceTest\ClickOnceTest_1_0_0_0.application с:\ClickOnceTest\ClickOnceTest_1_0_0_0\ClickOnceTest.exe.deploy с:\ClickOnceTest\ClickOnceTest_1_0_0_0\ClickOnceTest.exe.manifest
Файл publish.htm присутствует только в случае публикации на веб-сервере. Файлы .manifest и .application хранят информацию о необходимых файлах, настройках обновлений и прочие детали. (С подробной информацией об этих файлах и их XML-файлом можно ознакомиться в справочной системе MSDN.) Файлы .manifest и .application снабжаются электронной подписью во время публикации, поэтому не могут модифицироваться вручную. В случае внесения изменений ClickOnce заметит разницу и откажется устанавливать приложение.
По мере публикации новых версий приложения ClickOnce будет добавлять новые подкаталоги для каждой новой версии. Например, изменение опубликованной версии приложения на 1.0.0.1 приводит к появлению нового каталога:
с:\ClickOnceTest\ClickOnceTest_1_0_0_1\ClickOnceTest.exe.deploy с:\ClickOnceTest\ClickOnceTest_1_0_0_1\ClickOnceTest.exe.manifest
После запуска программа setup.exe отработает процесс установки всего обязательного программного обеспечения (такого как .NET Framework) и затем установит наиболее свежую версию приложения.