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

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

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

3 ответа

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

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

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

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

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

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

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

Другие вопросы по тегам