AutoUpdate программы., Как сделать самообновляемый бинарный файл? |
Здравствуйте, гость ( Вход | Регистрация )
AutoUpdate программы., Как сделать самообновляемый бинарный файл? |
grio |
28.1.2010, 18:46
Сообщение
#1
|
Студент Группа: Участник Сообщений: 87 Регистрация: 11.11.2009 Пользователь №: 1221 Спасибо сказали: 6 раз(а) Репутация: 0 |
Как сделать, что бы бинарь мог обновить сам себя?
Вернее записать другой бинарь поверх себя? И потом перезапуститься. |
|
|
Litkevich Yuriy |
28.1.2010, 19:38
Сообщение
#2
|
разработчик РЭА Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94 |
Под вспомогательным процессом имеется ввиду запуск отдельного бинарного файла? да, который запускается из твоего приложения, затем приложение завершается. Обновлялка копирует откуда-то на место твоего приложения новый файл, запускает его и после удачного запуска сама выгружается.
|
|
|
gigabyte |
28.1.2010, 21:46
Сообщение
#3
|
Студент Группа: Участник Сообщений: 20 Регистрация: 9.8.2009 Пользователь №: 992 Спасибо сказали: 2 раз(а) Репутация: 1 |
1.Можеш посмотреть Mozilla Firefox там есть updater как отдельный файл. и ничего в нем страшного нет
2.Можеш извратится и написать более менее стабильное ядро в которое включить функцию автообновления т.е. закачка распаковка, а все интерфейсы, логику и т.д. и т.д. прилеплять к нему через библиотеки, потом для обновления их надо выгрузить обновить и загрузить обновленные 3.Еще больший изврат, обновлять через интсталятор, т.е. тотже NSIS или InnoSetup в каком-то из своих модулей поддерживают загрузку файлов через веб, для обновления можеш просто запускать его с определенным параметром. |
|
|
grio |
28.1.2010, 22:34
Сообщение
#4
|
Студент Группа: Участник Сообщений: 87 Регистрация: 11.11.2009 Пользователь №: 1221 Спасибо сказали: 6 раз(а) Репутация: 0 |
1.Можеш посмотреть Mozilla Firefox там есть updater как отдельный файл. и ничего в нем страшного нет [skipped] К сожалению, Фокс разработан не на Qt. У меня родилась идея как сделать самоапдейт под Винду. 1. Качаем новый бинарь (прогой), сохраняем под именем myprogram.new 2. Создаем и стартуем батник. 3. Выходим из программы. -----update.bat------- @echo off rem Пятисекундная задержка (что бы прога успела завершиться) ping www.grio.ru rem Операции с бинарником (бекапим на всякий случай) ren myprogram.exe myprogram.%RANDOM%.%DATE%.bak copy myprogram.new myprogram.exe rem Стартуем обновленную прогу (start нужен, что бы закрылось окно батника) start myprogram.exe ------------------------ Для Пингвинов можно придумать нечто подобное. Сообщение отредактировал grio - 28.1.2010, 22:40 |
|
|
Текстовая версия | Сейчас: 22.12.2024, 12:27 |