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

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

Спасибо

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

    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 – хорошее решение, но если вы хотите иметь полный контроль, то вы можете использовать свой собственный. Я бы предложил опросить веб-сервис, чтобы узнать, доступны ли более поздние версии, загрузка необходимых файлов в бок о бок и использование пусковой установки (или обновления ярлыка) для автоматического запуска последней версии.

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