Название: автообновление по сети Отправлено: unkier от Май 26, 2011, 11:55 хотелось бы иметь маленькую программулину, которая каждый раз при запуске лезет в сеть, смотрит какая версия основной проги последняя, качает если есть изменения, устанавливает и запускает основную прогу. короче автообновлялку.
есть ли что то готовое или в любой степени готовности ? может кто то для себя делал и готов заделится ? Название: Re: автообновление по сети Отправлено: Пантер от Май 26, 2011, 12:40 Я сейчас такую пишу, но она закрытая (для нашей конторы), так что поделиться не могу. :(
Название: Re: автообновление по сети Отправлено: merke от Май 26, 2011, 12:43 ну вариантов множество. к примеру пишешь скрипт php который возвращает текущую версию программы, ты обращаешься к скрипту с помощью QNetworkAccessManager и получаешь версию программы, если она выше текущей, скачиваешь файл с сервера. Или ложишь на сервере файлик текстовый туда пишешь текущую версию программы, скачиваешь файлик смотришь версию и так далее.
Я очень давно выдерал функцию для проверки обновлений. можешь глянуть её. Код
Название: Re: автообновление по сети Отправлено: pokidoff от Май 26, 2011, 12:46 Держи. В архиве исходники и php скрипт. Прогу надо запускать перед стартом основной программы (что стартовать настраивается в инишнике см.архив), она обращается к скрипту на сервак (указывается в инишнике), тот смотрит в лежащую рядом с ним папку BIN, считывает CRC32 всех файлов в ней и отсылает проге в виде XML. Та в свою очередь сверяет CRC своих файлов с XML, и ежели чаго скачивает изменившийся файл.
Я у себя в локалке распространяю апдейтер в дистрибутиве, а он докачивает при первом старте все что нужно для основной проги. Интерфейс дружественный. Название: Re: автообновление по сети Отправлено: unkier от Май 26, 2011, 15:57 Держи. В архиве исходники и php скрипт. Прогу надо запускать перед стартом основной программы (что стартовать настраивается в инишнике см.архив), она обращается к скрипту на сервак (указывается в инишнике), тот смотрит в лежащую рядом с ним папку BIN, считывает CRC32 всех файлов в ней и отсылает проге в виде XML. Та в свою очередь сверяет CRC своих файлов с XML, и ежели чаго скачивает изменившийся файл. Я у себя в локалке распространяю апдейтер в дистрибутиве, а он докачивает при первом старте все что нужно для основной проги. Интерфейс дружественный. жесть. спасибо. то что доктор прописал :) а под какой лицензией прога :) ? зарелизил бы проект, было бы много кому полезно я думаю. Название: Re: автообновление по сети Отправлено: lesav от Май 26, 2011, 16:28 ... она обращается к скрипту на сервак (указывается в инишнике), тот смотрит в лежащую рядом с ним папку BIN, считывает CRC32 всех файлов в ней и отсылает проге в виде XML. ... Есть некоторые ограничения со стороны PHP скрипта - не расчитывает crc32 больших файлов, но этот функционал можно подправить! Название: Re: автообновление по сети Отправлено: pokidoff от Май 26, 2011, 16:45 Цитировать Есть некоторые ограничения со стороны PHP скрипта - не расчитывает crc32 больших файлов, но этот функционал можно подправить! Лично тестил на файле ~130 Мб - оракловый клиентНазвание: Re: автообновление по сети Отправлено: Странник от Май 26, 2011, 19:43 работаю в организации с сетью филиалов. раньше пользовались подобной схемой, сейчас перешли на клиент-серверное решение на Qt. тот же XML, но на уровне TCP/IP. проверка CRC32, кэширование на стороне сервера, компрессия, возможность докачки. производительность заметно подросла.
проект, к сожалению, закрытый. но если соберусь увольняться.. ;) Название: Re: автообновление по сети Отправлено: lesav от Май 26, 2011, 20:09 Цитировать Есть некоторые ограничения со стороны PHP скрипта - не расчитывает crc32 больших файлов, но этот функционал можно подправить! Лично тестил на файле ~130 Мб - оракловый клиентНо в если написать свой cgi сценарий (или лучше написать его на Си) то вполне работоспособное! ... сейчас перешли на клиент-серверное решение на Qt. тот же XML, но на уровне TCP/IP. проверка CRC32, кэширование на стороне сервера, компрессия, возможность докачки... Вот истинное решение! Мне по душе! ))) Пойду в эту сторону! ))) Название: Re: автообновление по сети Отправлено: pokidoff от Май 27, 2011, 07:51 А закачка идет не через PHP. Скрипт служит только для оценки изменений.
Название: Re: автообновление по сети Отправлено: Etud от Июнь 21, 2011, 18:04 пишешь скрипт php который возвращает текущую версию программы... Или ложишь на сервере файлик очень грамотный консалтинг... А как лучше PHP-скрипт или текстовик ? АААааа, крокодилы - бегемоты... Название: Re: автообновление по сети Отправлено: Denjs от Июнь 21, 2011, 18:48 Держи. В архиве исходники и php скрипт. Прогу надо запускать перед стартом основной программы (что стартовать настраивается в инишнике см.архив), она обращается к скрипту на сервак (указывается в инишнике), тот смотрит в лежащую рядом с ним папку BIN, считывает CRC32 всех файлов в ней и отсылает проге в виде XML. Та в свою очередь сверяет CRC своих файлов с XML, и ежели чаго скачивает изменившийся файл. Я у себя в локалке распространяю апдейтер в дистрибутиве, а он докачивает при первом старте все что нужно для основной проги. Интерфейс дружественный. жесть. спасибо. то что доктор прописал :) а под какой лицензией прога :) ? зарелизил бы проект, было бы много кому полезно я думаю. Название: Re: автообновление по сети Отправлено: pokidoff от Июнь 22, 2011, 08:59 Лицензия GPL. Архив обновил в четвертом посте.
|