ClickOnce

Матеріал з Вікіпедії — вільної енциклопедії.
Перейти до навігації Перейти до пошуку

ClickOnce — технологія Microsoft, що дозволяє користувачеві встановлювати та запускати smart client застосунки під Windows шляхом натискання на посилання на вебсторінці. ClickOnce є компонентом .NET Framework, починаючи з версії 2.0, та підтримує розгортання застосунків, зроблених із Windows Forms чи Windows Presentation Foundation. Вона подібна до Java Web Start для платформи Java чи Zero Install для Linux.

Опис[ред. | ред. код]

Ключовим принципом ClickOnce є простота розгортання застосунків Windows. Крім того, ClickOnce спрямована на вирішення трьох інших проблем звичайних моделей розгортання: складності оновлення розгорнутого застосунку, конфлікту застосунків на комп'ютері користувача та потреби в адміністраторських правах для встановлення застосунків.

Розгорнуті за допомогою ClickOnce застосунки вважаються «малоконфліктними», адже вони встановлюються для користувача, а не на комп'ютер. Для встановлення таких застосунків не вимагається адміністраторських прав. Кожний застосунок ClickOnce ізольований від інших. Це означає, що жоден з них не має змоги «зламати» інший. ClickOnce використовує Code Access Security[en] (CAS), завдяки чому системні функції не можуть бути викликані застосунком ClickOnce з Інтернету, забезпечуючи безпеку даних і клієнтської системи загалом.

Застосунки[ред. | ред. код]

Модель ClickOnce підтримує як встановлені (подібні до звичайних застосунків Windows з інтеграцією з меню «Пуск»), так і онлайн-застосунки (браузерні застосунки, які не встановлюються, а лише запускаються та кешуються). Застосунки ClickOnce можуть бути розгорнуті на комп'ютері з Інтернету, загального мережевого ресурсу чи навіть із файлу на CD.

Технологію розгортання ClickOnce було інтегровано у Visual Studio, починаючи з версії 2005. Вона також спочатку підтримується MSBuild, технологією керування складаннями Microsoft.

Маніфести[ред. | ред. код]

Розгортання ClickOnce контролюється за рахунок використання двох XML-файлів маніфесту[en]: розгортання та застосунку. XML-формат маніфестів той самий, що й у реалізації side-by-side assembly[en]. Маніфест розгортання (файл *.application) описує модель розгортання: поточну версію, поведінку оновлення й особу видавця з цифровим підписом; авторами цього маніфесту мають бути адміністратори, які виконують розгортання. Маніфест застосунку (файл *.exe.manifest) описує складові застосунку, залежні бібліотеки та перелік прав, яких вимагає застосунок. Автором цього файлу має бути розробник застосунку. Для запуску застосунку ClickOnce користувач натискає на файлі маніфесту розгортання.

Наразі ClickOnce буде запущено, лише якщо URL маніфесту розгортання відкрито в Internet Explorer. Якщо URL розгортання запущено з іншого застосунку, як-от Outlook, Word або Excel, застосунок буде успішно запущено, лише якщо Internet Explorer є браузером за замовчуванням[1].

Оновлення[ред. | ред. код]

Застосунки ClickOnce можуть самооновлюватися; вони можуть перевіряти новіші версії, щойно вони стають доступними, та автоматично замінювати будь-які оновлені файли. Для цих можливостей встановлених застосунків ClickOnce представляє декілька опцій оновлення. Застосунки можуть бути налаштовані на перевірку оновлень під час запуску чи після нього. ClickOnce також надає програмний API для налаштування поведінки оновлення. Також є підтримка необхідних чи обов'язкових оновлень для керування постійними оновленнями та забезпечення переходу всієї користувацької бази на нову версію за прийнятний час.

Проблеми безпеки[ред. | ред. код]

Застосунки ClickOnce не може бути встановлено з захищеної паролем вебдиректорії. Це не дозволяє створювати застосунки з обмеженим доступом, лишаючи їх доступними з Інтернету.

Підтримка браузерів[ред. | ред. код]

До версії .NET Framework 3.5 з Service Pack 1, ClickOnce працював лише з Internet Explorer, хоча доповнення FFClickOnce[2] дозволяло Firefox підтримувати її. 7 жовтня 2011 року випущено сучасніший аналог FFClickOnce під назвою FxClickOnce[3].

Microsoft .NET Framework 3.5 з Service Pack 1 включає розширення Firefox під назвою .NET Framework Assistant, що дозволяє підтримку ClickOnce у Firefox 3 і новіших[4]. Однак, перший випуск цього розширення мав проблему, що перешкоджала користувачам видаляти доповнення так само, як видаляються інші доповнення: відповідну кнопку «Видалити» в діалоговому вікні «Доповнення» було вимкнено[5]. 6 травня 2009 року Microsoft випустила оновлення з виправленням цієї проблеми, а також опублікувала статтю підтримки, що допомагала користувачам вручну видалити цей компонент. Крім того, пізніші версії Microsoft .NET Framework Assistant, включені до Windows 7 та .NET Framework 4, не мають даної вади[6].

Див. також[ред. | ред. код]

Примітки[ред. | ред. код]

  1. Server and Client Configuration Issues in ClickOnce Deployments [Вади налаштувань сервера та клієнта у розгортаннях ClickOnce] (англійською) . Мережа розробників Майкрософт. Архів оригіналу за 8 березня 2017. Процитовано 7 березня 2017.
  2. Добсон, Джеймс (14 липня 2008). FFClickOnce 0.8. Додатки для Firefox (українською) . Mozilla Corporation. Архів оригіналу за 8 березня 2017. Процитовано 7 березня 2017.
  3. Rushyo (7 жовтня 2011). FxClickOnce 0.1.1. Додатки для Firefox (українською) . Mozilla Corporation. Архів оригіналу за 8 березня 2017. Процитовано 7 березня 2017.
  4. Firefox Add-ons to Support .NET Application Deployment [Доповнення Firefox для підтримки розгортання .NET-застосунків]. Мережа розробників Майкрософт (англійською) . Microsoft. Архів оригіналу за 8 березня 2017. Процитовано 7 березня 2017. The Windows Presentation Foundation (WPF) plug-in for Firefox and the .NET Framework Assistant for Firefox enable XAML browser applications (XBAPs), loose XAML, and ClickOnce applications to work with the Mozilla Firefox browser. [~snip~] The .NET Framework Assistant for Firefox enables stand-alone ClickOnce applications to run from the Firefox browser. The .NET Framework Assistant for Firefox functions identically when it is installed before and after the Firefox browser.
  5. Список изменений и исправлений в пакете обновления 1 (SP1) для .NET Framework 3.5 [Перелік змін і виправлень у пакеті оновлення 1 (SP1) для .NET Framework 3.5]. Microsoft Support (російською) . Microsoft. 12 жовтня 2011. Архів оригіналу за 9 березня 2017. Процитовано 7 березня 2017. В помощнике .NET Framework для Firefox недоступна кнопка Удалить. В .NET Framework 3.5 SP1 помощник .NET Framework позволяет браузеру Firefox использовать технологию ClickOnce из состава .NET Framework. Помощник .NET Framework добавляется на уровне компьютера, чтобы с ним могли работать все пользователи. Соответственно, кнопка Удалить будет недоступна в меню Дополнения Firefox, так как обычным пользователям не разрешается удалять компоненты, установленные на уровне компьютера.
  6. Как удалить платформу .NET Framework Assistant для Firefox [Як видалити платформу .NET Framework Assistant для Firefox]. Microsoft Support (російською) . Microsoft. 24 лютого 2017. Архів оригіналу за 9 березня 2017. Процитовано 7 березня 2017.

Посилання[ред. | ред. код]