Ответ 1
Довольно хорошо не достаточно хорошо:)
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)