Насколько среди шароварщиков распространено автообновление продуктов? Подумываю над реализацией подобной универсальной библиотеки-обёртки в виде динамической Win32 DLL. Распространяться будет как Freeware. Стоит ли?
Здравствуйте, x64, Вы писали:
x64>Насколько среди шароварщиков распространено автообновление продуктов? Подумываю над реализацией подобной универсальной библиотеки-обёртки в виде динамической Win32 DLL. Распространяться будет как Freeware. Стоит ли?
Портируй лучше APT. Все будут рады (кроме Шеридана).
RO>Портируй лучше APT. Все будут рады (кроме Шеридана).
Ну ты б хоть ссылку дал, я ж вам не линуксоид какой-нибудь, ага. Если ты имеешь в виду Advanced Packaging Tool, то боюсь что вряд ли это будет мне интересно. Да я, честно говоря, вообще не очень люблю что-то повторять, чай не китайцы мы, своя голова есть.
Здравствуйте, x64, Вы писали:
x64>Если ты имеешь в виду Advanced Packaging Tool, то боюсь что вряд ли это будет мне интересно. Да я, честно говоря, вообще не очень люблю что-то повторять, чай не китайцы мы, своя голова есть.
Ты как раз собрался повторить то, что давно уже сделано, но явно намереваешься наступить на давно изученные грабли. Толку-то от обновлялки, которая работает только с одной данной программой?
RO>Ты как раз собрался повторить то, что давно уже сделано, но явно намереваешься наступить на давно изученные грабли.
Ну вот зачем ты чушь-то откровенную говоришь? В Windows нет стандартного механизма автообновления приложений. Сторонние разработки — да, наверняка есть. Если знаешь такие — дай ссылку.
RO>Толку-то от обновлялки, которая работает только с одной данной программой?
Это что ещё за глупость #2? Толк вполне понятный, думаю, — увеличение скорости разработки продукта, т.е. прямая выгода непосредственно для разработчика. Подключаешь DLL к проекту и вызываешь время от времени соответствующие функции типа "DownloadAndReplaceFiles(...)" — быстро и просто.
Что касается обновлялки, которая встраивается в систему и предоставляет интерфейс для автообновлений нескольким приложениям... Ну я честно говоря, не вижу в чём смысл конкретно для одного отдельно взятого разработчика aka шароварщика. Вот распиши здесь плюсы, которые получит разработчик, тогда я подумаю над твоим предложением. А чего попусту болтать-то.
Здравствуйте, x64, Вы писали:
x64>Насколько среди шароварщиков распространено автообновление продуктов? Подумываю над реализацией подобной универсальной библиотеки-обёртки в виде динамической Win32 DLL. Распространяться будет как Freeware. Стоит ли?
Мне надо!
Обновления выходят довольно часто. Автообновление не прикручено, каждый раз пишут письма: "шеф, все пропало!". Уже даже позывы самому написать...
Ну если хоть один есть — значит всяко не зря. Ты только распиши, какая схема (aka алгоритм) применения автообновления у тебя предполагается?
Z>Обновления выходят довольно часто.
Расскажи пару слов об архитектуре софта (мне для статистики). Напиши своими словами и вот такую анкетку можешь ещё заполнить:
1. С какими правами могут запускаться исполняемые модули продукта (перечислить) ?
2. Предусматривает ли архитектура продукта реализацию NT-служб, драйверов (да/нет) ?
3. В каких папках обычно располагаются файлы после установки (перечислить) ?
4. Обновлённые файлы должны скачиваться с Web-сайта, извлекаться из локального архива или располагаться открыто в локальной папке (перечислить) ?
5. Каково примерное кол-во потенциально обновляющихся файлов (число) ?
6. Приложение Win32, .Net, Java или что-то другое (подчеркнуть) ?
7. Если приложение не Win32, то допустимо ли использовать в нём Win32-модули (да/нет) ?
8. Как часто может происходить обновление (период) ?
9. Могут ли потенциально обновляемые файлы быть жёстко заблокированы (без возможности удаления/переименования/etc.) на момент обновления (да/нет) ?
Z>З.Ы. Могу быть тестером активным
x64>В Windows нет стандартного механизма автообновления приложений.
В висте есть. Там в настройках автообновлений можно указать приложения, который могут обновляться через этот механизм. Соответственно, видимо приложение должно уметь это делать "как надо".
Хм, не знал. Дай ссылку на API Reference.
TC>Там в настройках автообновлений можно указать приложения, который могут обновляться через этот механизм. Соответственно, видимо приложение должно уметь это делать "как надо".
Скорее всего там всё завязано на MSI и пакеты обновлений. Что-то мне не очень нравится такая идея, ибо на практике сам процесс обновления может быть настолько простым, что поднимать ради него весь MSI API или изучать пакеты типа InstallShield покажется слишком трудозатратно, ежели там всего-то один файлик заменить или добавить, например.
JID: x64j@jabber.ru
Re[3]: Востребованность автообновления
От:
Аноним
Дата:
28.09.08 15:27
Оценка:
Здравствуйте, x64, Вы писали:
Z>>Мне надо!
x64>Ну если хоть один есть — значит всяко не зря. Ты только распиши, какая схема (aka алгоритм) применения автообновления у тебя предполагается?
Спасибо, посмотрю. Хочется реализовать что-то легковесное с одной стороны, но при этом чтобы фичей побольше было. Посмотрим, получится ли.
JID: x64j@jabber.ru
Re[5]: Востребованность автообновления
От:
Аноним
Дата:
28.09.08 15:56
Оценка:
Здравствуйте, x64, Вы писали:
x64>Спасибо, посмотрю. Хочется реализовать что-то легковесное с одной стороны, но при этом чтобы фичей побольше было. Посмотрим, получится ли.
кроме этого автообновление есть в CreateInstall и за последний год было два человека который писали updeter (поищите поиском здесь) один из них дал мне исходник когда я попросил.
я интересовался updaterом когда писал для себя
из фич которых я хотел бы видеть в updater
возможность оновлять запущенное приложение (хотя бы при следующем рестарте win)
возможность простого обновления нескольких файлов (на сервере файл со списком файлов которые надо обновить)
обязательно поддержка proxy
задание время и дату когда проверять обновления (или при каждом старте программы)
А>из фич которых я хотел бы видеть в updater А>возможность оновлять запущенное приложение (хотя бы при следующем рестарте win) А>возможность простого обновления нескольких файлов (на сервере файл со списком файлов которые надо обновить) А>обязательно поддержка proxy А>задание время и дату когда проверять обновления (или при каждом старте программы)
Ну да, это самое основное и это я реализую в первую очередь.
.
x64>Насколько среди шароварщиков распространено автообновление продуктов? Подумываю над реализацией подобной универсальной библиотеки-обёртки в виде динамической Win32 DLL. Распространяться будет как Freeware. Стоит ли?
Да не нужна библиотечка! Это уже вчерашний день. Нужно иметь системный сервис, в котором я могу зарегистрировать свое приложение и забыть об апдэйтах навсегда.
Технически это, например, COM-объект в системе с одним методом:
RegisterAppForUpdate(AppName, UpdateLink, UpdateCheckInterval, KillMessage)
Все!
Это означает, что есть некоторый общий системный стек приложений зарегистрированных в некотором сервисе апдейта приложений. Я могу при первой инсталляции своего приложения зарегистрировать его в этом системном стеке апдейтов и забыть об апдейтах навсегда! Что должен делать этот сервис? Он должен с указанным интервалом проверять по указанной ссылке новые версии, уведомлять пользователя о том что такое-то приложение может быть обновлено до такой-то версии, загружать приложение на машину пользователя, отправлять приложению указанное сообщение об уведомлении, и когда приложение закрыто обновлять его файлы в соответствии со скриптом который будет загружен с сервера.
Возможно я описал как-то сыровато, но идея примерно такая.
P.S. И конечно же этот сервис должен быть бесплатным, а уж как на нем заработать думайте сами
X>Возможно я описал как-то сыровато, но идея примерно такая.
Да уж, кривее некуда, хотя суть понятна. Только ты уже не первый, вон RO тоже пытается мне сказать, что выделенная для обновления служба лучше DLL, загружаемой в каждое приложение. Внимание, вопрос — а чем лучше-то?
X>P.S. И конечно же этот сервис должен быть бесплатным, а уж как на нем заработать думайте сами
Вот знаешь, поток сознания мне твой понятен, но вот эта фраза отбивает весь энтузиазм. Тебе оно надо?
> Да не нужна библиотечка! Это уже вчерашний день. Нужно иметь системный сервис, в котором я могу зарегистрировать свое приложение и забыть об апдэйтах навсегда.
А почему нельзя иметь 2 имплементации: как DLL, и как COM? Причем COM-объект вполне может использовать ту же DLL!?! Есть у меня одна софтина, причем мелкая и обновляться может достаточно часто. Весит все вместе!!! (включая ридми и прочий сопутствующий хлам) — 60 кило... Я что буду туда еще COM какой-то прикручать только из апдейта? Дык вряд ли...
Имхо, а подход COM+DLL вполне: и волки сыты, и овцы целы?
Сервис нафиг не нужен. Зачем разбрасывать по системе какие-то ком-объекты, гадить в реестр и т.п. В 99,9999% случаев этим сервисом будет пользоваться только та прога, которая его и притащила. Или вы думаете, что всё прогрессивное шароварное человечество тут же на него перескочет? Исключено. Апдейтер должен быть маленький и негадючий.
Зачем для проги в 60кБ апдейтер вообще? На крайняк дернуть исходник из опен-сорса ( ну типа творчески переработать ), который проверяет файлик на сервере с актуальной версией и долбит юзера, а юзер уже пусть сам парится. Там кода будет на 500 байт.
С год назад рыл на предмет прикручивания. Толком ничего не нашёл — пришлось писать самому. Искал фришный или опенсорс, но только MFC или чистый апи. Нарыл либо блотварь по два метра с нафиг-ненужными мега функциями, либо простые проверяльщики.
Здравствуйте, x64, Вы писали:
x64>Насколько среди шароварщиков распространено автообновление продуктов? Подумываю над реализацией подобной универсальной библиотеки-обёртки в виде динамической Win32 DLL. Распространяться будет как Freeware. Стоит ли?
Может конечно для каких-то определенных классов приложений это и необходимо. Только обычной шароваре, не антивирусу/файрволу/еще какой критичной штуке, на мой взгляд автообновляться скорее вредно чем полезно. С точки зрения безопасности например отстойно, и я как пользователь 100% отключу такую функцию для приложений всех малоизвестных производителей. Мало ли чего им там в голову взбредет автообновить. Если софтина к интернету не имеет отношения, то тем более нечего ей туда лазить, да еще чего-то менять в системе в автоматическом режиме. Одно дело когда просто выводится диалог что типа — а вот новая версия кстати появилась, поди скачай если время есть. И совсем другое если оно само начнет жить своей жизнью, на фиг надо.
S>С год назад рыл на предмет прикручивания. Толком ничего не нашёл — пришлось писать самому.
Ну дык расскажи, какой функционал тебе нужен был? Мне, сам понимаешь, как автору_будущего_автоапдейтера_которым_будут_пользоваться_все_шароварщики, весьма интересно.
Здравствуйте, Sharewarkin, Вы писали:
S>Сразу говорю — всё IMHO.
Поддержу своим IMHO
Сколько раз уже убеждаюсь что "все гениальное просто". Если делать что-то супер-пупер универсальное, то получится такой монстр...
Так же и с автоапдейтом. По большому счету все что должна уметь автообновлялка это ломануться на сервер, при наличии новой версии скачать инсталятор, запустить его с нужными ключами, просечь необходимость перезагрузки и перегрузить компьютер, если пользователь согласится. Всё! Весь остальной функционал делает тот самый инсталятор. Так или иначе инсталятор все равно нужно делать. Ну а какой инсталятор подсовывать автообновлялке это уже вопрос личных предпочтений. Я предпочитаю тот-же, что качается через сайт.
Собственно все вот и вся идея. Ну а периодичность проверок можно и в шедулер винды запихать