Нужна программа, которая будет сравнивать локальные файлы со списком, полученным с сервера и в случае расхождений запрашивать нужные файлы.
Встречал вариант, при котором автопачер скачивает архив с изменениями. Но не считаю такой вариант правильным.
Не хочется создавать велосипед, возможно уже есть готовые решения (желательно на C#)?
Это уже рядом. Хотелось бы что-то вроде *.exe для клиента, в котором настраивается: где спрашивать обновления, какую html страницу отрендерить на фон, пока все грузится, ну собственно и все...
Обычно такой автопатчер пишется непосредственно под игру, ибо есть простор для оптимизации +кучка нюансов вида "эти ресурсы для этой версии не апдейтим". Более того, в вашем примере с онлайн-играми обычно патчатся ресурсы, а не исполняемые файлы/либы.
Ресурсы тоже в файлах лежат. А на счет "эти ресурсы для этой версии не апдейтим", то тут простая логика, нужная версия лежит по известному адресу, да и кому нужна логика версий на клиенте?! автопачер всегда должен сверяться с одним и тем же местом, по крайней мере для одной и той же версии игры (не представляю на сколько часты подобные случаи)...
подразумевается, что на стороне клиента ничего серьезного сделать нельзя. Вы играли когда нибудь в онлайн игры?! Там перед запуском игры запускается пачер, который показывает (как вариант) последние новости, пока идет обновление, или сразу предлагается запустить игры...