Autoupdater
Требуется разработка программы автоматического обновления.
Процесс автоматического обновления следующий:
Программа делает http-запрос по конкретно заданному адресу (например "http://www.aaa.ru/update.php"). В ответ получает первой строкой номер версии, программа открывает файл version.txt и получает его содержимое. Если его содержимое не совпадает с первой строкой, полученной с сервера, то все последующие строки - это http-адреса к файлам, которые нужно скачать и, если файл имеет расширение exe, то после скачки запустить. Сохраняются данные файлы в текущую директорию. Порядок закачки файлов определяется порядком их вывода сайтом (то есть качать в разнобой нельзя). После этого программа должна перезаписать файл version.txt, поместив в него текущий (обновленный) номер версии. Данный процесс должен происходить при запуске программы и с периодичностью в три часа.
Естественно программа не должна иметь окон, должна корректно обрабатывать отсутствие подключения к интернету или недоступность сайта, или некорректный http ответ (например 404, или страница авторизации провайдера). Если произошла одна из этих ошибок, программа пытается заново через 5 минут. Файл version.txt располагается в текущей директории. Программа не должна запускаться, если уже запущена. Должна корректно работать из автозагрузки. Получать точно не кешированную информацию с сервера. Должна состоять из одного, как можно меньше весящего exe файла. Программа должна определять, запущен ли брандмауер windows, и если да, то, при наличии на то прав в системе, создавать в реестре правило, разрешающие себе беспрепятственно выходить в интернет. Не должна определяться антивирусами, антишпионскими программами, и т.д.
Пример файла version.txt
==========================
1.5
==========================
Пример ответа от сервера
==========================
1.6
==========================