Использование развертывания Clickonce с фоновой интеллектуальной службой передачи

Мы думаем о стратегии развертывания и обновления для довольно крупного фреймворка в нашей организации. Приложение будет в .NET 3.5 и будет работать на компьютерах с Windows XP, Vista и Win 7. Я использовал Clickonce несколько раз, и он точно работает хорошо. Кто-нибудь думал или реализовал функцию BITS в Windows с помощью Clickonce. Я чувствую, что подход BITS к постепенному обновлению сделает частые обновления фреймворка довольно удобными для пользователя.

Любая помощь приветствуется.


person theraneman    schedule 02.12.2009    source источник


Ответы (3)


Дело в том, что BITS используется для передачи данных в фоновом режиме, в то время как CLICKONCE является более или менее JIT-загрузчиком тех DLL/исполняемых файлов, которые необходимы для установки/обновления/запуска приложения.

Кроме того, ClickOnce — это готовый интерфейс. Это уже работает, в то время как решение BITS (даже использующее старый блок приложения обновления) требует, чтобы вы развернули платформу для обновления приложения.

Также обратите внимание, что ничто не говорит о том, что решение BITS будет «капельным» подходом. Можно было бы загрузить файл одним пакетом с высоким приоритетом и в основном эмулировать функциональность ClickOnce, или можно было бы создать его для загрузки обновлений в фоновом режиме, аналогично тому, как FireFox выполняет обновления.

Наконец, имейте в виду, что ClickOnce имеет последствия для безопасности в том, что развернутому приложению ClickOnce разрешено делать по умолчанию, или даже в том, с какими ресурсами ему разрешено взаимодействовать по умолчанию. Подробнее читайте здесь.

person Stephen Wrighton    schedule 02.12.2009
comment
Прохладный. Только то, что Clickonce упрощает работу (за исключением некоторых последствий для безопасности). Варианты обновления довольно хороши, только часть загрузки, если бы она управлялась BITS, была бы приятной. Я где-то читал, что начиная с Vista это уже делается! - person theraneman; 02.12.2009

Я работал над проектом, который использует BITS и ClickOnce, но не в том контексте, в котором вы хотите. ClickOnce был механизмом загрузки приложения, который был очень легким, настолько легким, насколько это было возможно. Затем с помощью комбинации служб Microsoft Synchronization Services и BITS синхронизируйте данные и извлеките артефакты (около 2 ГБ).

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

person Bronumski    schedule 19.07.2011

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

person Martin    schedule 18.01.2010