Подскажите пожалуйста какую программу (желательно бесплатную) можно использовать для организации обновлений программы с сервера.
т.е updater должен уметь конектиться к серверу и проверять если появился новый релиз загружать его и обновлять
количество и именна фалов в релизе могут меняться
Здравствуйте, YuriKobets, Вы писали:
YK>Здравствуйте, temnik, Вы писали:
А>>>Подскажите пожалуйста какую программу (желательно бесплатную)
T>>Сам напиши, будет бесплатная
YK>Во-во. к тому же пишется это все на счет раз и с закрытыми глазами. Главное уметь файлы скачивать и все.
На счет раз это не пишется. Неплохо было бы уметь скажем BITS использовать. Это уже на как минимум до трех считать.
Здравствуйте, Sharowarsheg, Вы писали:
YK>>Во-во. к тому же пишется это все на счет раз и с закрытыми глазами. Главное уметь файлы скачивать и все.
S>На счет раз это не пишется. Неплохо было бы уметь скажем BITS использовать. Это уже на как минимум до трех считать.
Чего использовать??? Что такое BITS (простите за неграмотность)?
А вообще по начальное теме, если нужно простое и бесплатное, но нехочется писать, то на codeproject.com элементарно ищется по словам online update
Здравствуйте, Sharowarsheg, Вы писали:
А>>>>Подскажите пожалуйста какую программу (желательно бесплатную) T>>>Сам напиши, будет бесплатная YK>>Во-во. к тому же пишется это все на счет раз и с закрытыми глазами. Главное уметь файлы скачивать и все.
S>На счет раз это не пишется. Неплохо было бы уметь скажем BITS использовать. Это уже на как минимум до трех считать.
И накой он тут BITS? Просмотрел в MSDN. Штука прикольная, но масштаб пассерово-гаубичный. Хватит и WinINet. Или CHttpRequest из ATL Server, если так хочется.
Делается xml-файл (а можно и не обязательно xml) с информацией о версии, дате выхода, файле (файлах) обновлений, где лежит и сколько весит. Кладётся на сервер. При особом желании, собирается автоматически из информации в базе данных программных продуктов и файлов дистрибутивов (точнее размер/дату взять неоткуда).
Всё, что требуется приложению, это загрузить этот файл (функциями WinInet), разобрать, сообщить пользователю о доступности обновлений и потом теми же средствами скачать. Лучше, если это будут экзешники-инсталлеры, которые останется только запустить в тихом режиме и закрыться. Дальше дело инсталлера — поставить обновление ли, или весь продукт полностью в режиме обновления, после чего запустить.
InnoSetup, например, позволяет исполнять альтернативные сценарии установки для тихого режима, когда принудительный запуск приложения можно организовать с ключиком в командной строке, который тому приложению скажет, что это первый запуск после автоапдейта. Но это уже опциональные фантазии.
По-сути, писать тут особо нечего. Если и есть такой вот компонент, то времени уйдёт больше на его приспособление к особенностям программного продукта, нежели на написание требуемой функциональности с нуля.
Здравствуйте, Аноним, Вы писали:
А>Подскажите пожалуйста какую программу (желательно бесплатную) можно использовать для организации обновлений программы с сервера. А>т.е updater должен уметь конектиться к серверу и проверять если появился новый релиз загружать его и обновлять А>количество и именна фалов в релизе могут меняться
Здравствуйте, SetiSoft, Вы писали:
SS>TrueUpdate 2.0.x офсайт www.indigorose.com
Вот-вот, из пушки по воробьям, да за писот баков. Самое то. Что там нам, шареварщикам, Visual Studio, Software Passport, вот что пробьёт бюджет, так уж пробьёт — апдейтилка. Дороже Висты, даже Ultimate. Капец.
Чтоб не брызгать потоками сознания, вопрос около темы — кто-нибудь может объяснить, откуда такие дикие цены берутся на пустяковые, в общем-то вещи, в первую очередь инсталлеры, которые в некоторых комплектациях за несколько килобаксов зашагивают?
Здравствуйте, YuriKobets, Вы писали:
S>>На счет раз это не пишется. Неплохо было бы уметь скажем BITS использовать. Это уже на как минимум до трех считать.
YK>Чего использовать??? Что такое BITS (простите за неграмотность)?
BITS = Background Intelligent Transfer Service или типа того. То, что Windows Update таскает.
Здравствуйте, Xander Zerge, Вы писали:
XZ>И накой он тут BITS? Просмотрел в MSDN. Штука прикольная, но масштаб пассерово-гаубичный. Хватит и WinINet. Или CHttpRequest из ATL Server, если так хочется.
Зависит от размера — то есть, смотря сколько качать.
Кроме того еще и от файрвола зависит.
XZ>Всё, что требуется приложению, это загрузить этот файл (функциями WinInet), разобрать, сообщить пользователю о доступности обновлений и потом теми же средствами скачать. Лучше, если это будут экзешники-инсталлеры, которые останется только запустить в тихом режиме и закрыться. Дальше дело инсталлера — поставить обновление ли, или весь продукт полностью в режиме обновления, после чего запустить.
Еще неплохо бы показать аннотации к обновлениям, а также иметь возможность отказаться от обновлений — либо от всех, либо выборочно.
Кроме того, нужно сделать еще и чтобы не вылазило окошко диалапное. если соединения нет. Это тоже средствами WinInet, но почему-то не всегда работает достаточно хорошо. На одну отладку нужно как бы не с пяток конфигураций..
XZ>По-сути, писать тут особо нечего. Если и есть такой вот компонент, то времени уйдёт больше на его приспособление к особенностям программного продукта, нежели на написание требуемой функциональности с нуля.
Дак вот мечта. Такой компонент, чтобы поля заполнил, ну или константы забил, и забыл про него. В комплекте с генератором файлов на сторону сервера.
Здравствуйте, Xander Zerge, Вы писали:
XZ>Чтоб не брызгать потоками сознания, вопрос около темы — кто-нибудь может объяснить, откуда такие дикие цены берутся на пустяковые, в общем-то вещи, в первую очередь инсталлеры, которые в некоторых комплектациях за несколько килобаксов зашагивают?
Дык цены на весь софт для разработчиков зашкаливает. Ну а цены, ясен перец, откуда берутся: цена конкурента +- несколько баксов. Если нет конкурентов берется близкий по тематике продукт. Если нет близкого продукта, прикидывают: ага... разработчики => деньги есть => загнем побольше. И начинается светлое будующее
Нет уж, увольте пять сотен на апдэйтилку.... я потратил ровно 3 дня на написание онной, при этом большая часть времени ушла на делание гуя. А на сэкономленные деньги....
Здравствуйте, Sharowarsheg, Вы писали:
XZ>>И накой он тут BITS? Просмотрел в MSDN. Штука прикольная, но масштаб пассерово-гаубичный. Хватит и WinINet. Или CHttpRequest из ATL Server, если так хочется.
S>Зависит от размера — то есть, смотря сколько качать.
В смысле докачки? А какие проблемы? Увидели, что валяется xxx-setup.exe.part.12345, а билд — тоже 12345, ну и докачиваем себе дальше — HTTP хидера выставить делов на минуту. Сломалось чего — так файл и бросили — размер определяет прогресс. Докачали — переименовали, и дальше по сценарию.
S>Кроме того еще и от файрвола зависит.
А чего от него зависит? Даст — не даст? Юзер, если "update" давит, должен догадаться, что это некоим образом связано с выпрыгнувшим по тревоге файрволлом. Если не догадливый — показать чего-нибудь напоминающее, что щаз, мол, в инет полезу, будь готов.
XZ>>Всё, что требуется приложению, это загрузить этот файл (функциями WinInet), разобрать, сообщить пользователю о доступности обновлений и потом теми же средствами скачать. Лучше, если это будут экзешники-инсталлеры, которые останется только запустить в тихом режиме и закрыться. Дальше дело инсталлера — поставить обновление ли, или весь продукт полностью в режиме обновления, после чего запустить.
S>Еще неплохо бы показать аннотации к обновлениям, а также иметь возможность отказаться от обновлений — либо от всех, либо выборочно.
Вот XML-файл для этого очень хорошо подходит. Можно указать и аннотацию к файлу апдейта, и какую версию он может обновить, и с какими другими апдейтами его выбирать одновременно для загрузки нельзя.
S>Кроме того, нужно сделать еще и чтобы не вылазило окошко диалапное. если соединения нет. Это тоже средствами WinInet, но почему-то не всегда работает достаточно хорошо. На одну отладку нужно как бы не с пяток конфигураций..
А неча лазить за обновлениями, когда не просят.
XZ>>По-сути, писать тут особо нечего. Если и есть такой вот компонент, то времени уйдёт больше на его приспособление к особенностям программного продукта, нежели на написание требуемой функциональности с нуля.
S>Дак вот мечта. Такой компонент, чтобы поля заполнил, ну или константы забил, и забыл про него. В комплекте с генератором файлов на сторону сервера.
Ну а проблема раз написать что-ли? Я себе такое сделал, насколько помню, возни было с пользовательским интерфейсом, в основном, пока прикручивал мигающие "соединяемся...", "запрашиваем...", "сверям...", "проверям...", и т.п., плюс прогресс-бар. На сервере строк пятьдесят кода, который по параметрам запроса выбирает продукт из базы, файл его дистрибутивный, размер там узнаёт, XML-ответ формирует и отстреливает. Ну за день я это сделал. Пятьсот баксов может и дешевле было отдать, но возиться интегрировать-тестировать — это всё равно день работы.
Здравствуйте, Xander Zerge, Вы писали:
XZ>откуда такие дикие цены берутся на пустяковые, в общем-то вещи, в первую очередь инсталлеры, которые в некоторых комплектациях за несколько килобаксов зашагивают?
Можно сказать, что цены на профессиональные продукты для разработчиков формируются по принципу цен для бизнес использования, т.е. учитывается не только стоимость разработки/тестирования, но и сам факт извлечения прибыли из использования продукта. Все нормально, просто мы уже развращены низкими ценами на ту-же Студию.
Здравствуйте, YuriKobets, Вы писали:
YK>Нет уж, увольте пять сотен на апдэйтилку.... я потратил ровно 3 дня на написание онной, при этом большая часть времени ушла на делание гуя. А на сэкономленные деньги....
3 дня пусть по 8 часов, получается продал свое время чуть дороже 20 долларов и при этом сэкономил?
Re[4]: updater для программы
От:
Аноним
Дата:
23.07.07 12:33
Оценка:
Здравствуйте, Alex Mova, Вы писали:
>разработки/тестирования, но и сам факт извлечения прибыли из использования продукта. >Все нормально, просто мы уже развращены низкими ценами на ту-же Студию.
Здравствуйте, <Аноним>, Вы писали:
А>вроде 1100$ не такуж и дешево
Если посмотреть на цену абстрактно, то выглядит недешево, а если оценить функционал, то мне, например, очевидно, что цена низкая. Само собой, я не настаиваю.
Здравствуйте, Xander Zerge, Вы писали:
XZ>Ну а проблема раз написать что-ли? Я себе такое сделал, насколько помню, возни было с пользовательским интерфейсом, в основном, пока
Не все так безоблачно в мире этом.
А если редирект? А если сервак отдает зипованный контент? Докачка? Определение что получили корректный файл, а не полумусор, полухрень от прокси? А если нужно обновлять не все файлы, а только часть, из тех что получил (я например, обновление в зипе закачиваю, меньше трафик, нагрузка и т.д.)? Неплохо бы проверить, что это именно твое обновление, а не подсунутое кем-то.
Плюс куча непонятных проблем, которые возникли с ВинИнетом (често говоря, уже весь перечень не помню, но их было достаточно), лично у меня затянули шлифовку этой фичи на полгода, год.
Здравствуйте, Xander Zerge, Вы писали:
S>>Кроме того еще и от файрвола зависит. XZ>А чего от него зависит? Даст — не даст? Юзер, если "update" давит, должен догадаться, что это некоим образом связано с выпрыгнувшим по тревоге файрволлом. Если не догадливый — показать чего-нибудь напоминающее, что щаз, мол, в инет полезу, будь готов.
Даст-не даст. А через неделю (если проверка раз в неделю)?
S>>Кроме того, нужно сделать еще и чтобы не вылазило окошко диалапное. если соединения нет. Это тоже средствами WinInet, но почему-то не всегда работает достаточно хорошо. На одну отладку нужно как бы не с пяток конфигураций.. XZ>А неча лазить за обновлениями, когда не просят.
А если автообновление раз в неделю скажем? Приходится лезть когда не просят.
XZ>Ну а проблема раз написать что-ли?
Да нету проблемы написать. Есть проблема оттестировать и чтобы работало. Удивительное разнообразие конфигураций в этой области. Написать то я что угодно могу.
Re[6]: updater для программы
От:
Аноним
Дата:
23.07.07 13:02
Оценка:
Здравствуйте, Alex Mova, Вы писали:
А>>вроде 1100$ не такуж и дешево AM>Если посмотреть на цену абстрактно, то выглядит недешево, а если оценить функционал, то мне, например, очевидно, что цена низкая. Само собой, я не настаиваю.