Подскажите как сделать систему авто обновления программы? Или дайте готовый код, но лучше подробно объяснить.
Есть сайт, на сайте есть папка где лежит файлы:
- version.txt "В файле написано 0.0.2"
- Launcher.exe
Как сделать, что при запуске программы, автоматом сравнивались версии без скачивания version.txt, и если версии не совпадают, выскакивает сообщение "Обновите программу, принужденно" при этом не давая дальше пользоваться ней, потом при нажатии на ок, что бы программа сама скачала Launcher.exe, и заменила место той старой, и потом запустилась.
--------------------------------------------------------------------------------
А да еще хотел спросить вот написал программу скомпилировал в exe, передаю через интернет другим людям они скачивают и антивирусы у них ругаются что программа троян.
sim3x: Нашел типо объяснение как что но блин сложно!
1) Закачиваем на сайт файл version.txt, например url будет таким test.ru/version.txt, в котором будет находится номер последней версии сборки(версия сборки меняется в параметрах построения VS - "Сведения о сборке" )
2)Закачиваем на этот же сайт последнею версию программы, например url будет test.ru/MySuperPuperProgramName.exe
3)Создаем приложения, которое будет загружать обновления, например Update.exe
4)В основной программе делаем код проверки - берем номер текущей сборки и сравниваем с тем что на сайте - если они разные - Application.Exit(); Process.Start("Update.exe");
5)В Update.exe создаем темповый файл Path.GetTempFileName(); в котором и будет наша скаченная программа, с помощью например WebClient скачиваем файл, в темповый файл, вешая на DownloadFileCompleted оброботчик который - и переименует наш темповый файл в файл с именем и путем программы
Mikhail Kochura: Сложно? это объяснение вообще самый простой базовый каркас такой системы.
По правилам надо ещё контрольную сумму проверять (а лучше вообще подпись), не выкладывать напрямую "голой попой" exe в интернет, предусматривать возможность отката при сбое обновления/закачки/затменияналуне, и т.д. и т.п.
"Как сделать, что при запуске программы, автоматом сравнивались версии без скачивания version.txt, и если версии не совпадают, выскакивает сообщение "Обновите программу, принужденно" при этом не давая дальше пользоваться ней, потом при нажатии на ок, что бы программа сама скачала Launcher.exe, и заменила место той старой, и потом запустилась."
Добавить на сайт API для вывода актуальной версии в удобном формате.
Добавить в запуск программы обращение к вашему сайту за новой версией.
Добавить в запуск программы запрет на дальнейшее использование, если известно что есть новая версия.
Добавить в программу сообщение "Обновите программу" с кнопкой OK, по которой будет скачиваться и запускаться Launcher.exe, который будет обновлять старую программу и запускать ее.