Предложить способ автоматического обновления моей программы на C#

Мне нужно держать программу, которую я написал, в курсе, это будет часто происходить в течение следующего года или около того, это нужно будет делать через Интернет. Где бы вы предложили мне начать, есть ли какие-то общие приемы? Любые предложения приветствуются.

Спасибо

4 ответа

Довольно хорошо не достаточно хорошо:)

NAppUpdate - это библиотека с открытым исходным кодом, которую я написал для решения этой проблемы. Общая идея заключается в том, чтобы иметь наибольшую гибкость при минимальных накладных расходах.

Таким образом, интеграция очень проста, и библиотека делает почти все для вас, включая синхронизацию операций. Он также очень гибок и позволяет вам определять, какие задачи выполнять и на каких условиях - вы устанавливаете правила. И, наконец, немаловажным является поддержка любого источника обновлений (веб, BitTorrent и т. Д.) И любого формата ленты - что бы не реализовано, вы можете просто написать самостоятельно.

Холодные обновления (требующие перезапуска приложения) также поддерживаются и выполняются автоматически, если для задачи не задана "горячая замена".

Все это сводится к одной DLL, размером менее 70 КБ.

Более подробная информация на http://www.code972.com/blog/2010/08/nappupdate-application-auto-update-framework-for-dotnet/

Код находится по адресу http://github.com/synhershko/NAppUpdate (по лицензии Apache 2.0)

ClickOnce идеально подходит для такого сценария.

Существует этот отличный фреймворк под названием NetSparkle, а также этот DotNetUpdater

Я еще не использовал их, но надеюсь сделать это очень скоро. Вы можете попробовать это.

ClickOnce - это хорошее решение, но если вы хотите иметь полный контроль, вы можете сделать это самостоятельно. Я бы предложил опросить веб-сервис, чтобы узнать, доступны ли более поздние версии, загрузить необходимые файлы в параллельный каталог и использовать средство запуска (или обновить ярлык) для автоматического запуска последней версии.

Это немного сложно, но подходит для ситуаций, когда приложение может работать, и поэтому не может быть перезаписано.

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