Свою я выпускаю в виде единого экзешника. У него задан срок годности (обычно это два месяца), далее он просто перестает работать. Соответственно, пользователи идут на сайт и скачивают новую версию.
Знаю ,сделано через ж. Но я не успевал прикрутить монетизацию и хотел таким образом ограничить срок действия бесплатной версии. А сейчас прижилось, в схеме есть свои преимущества: регулярное посещение сайта, по числу загрузок можно мониторить число активных пользователей; фришку опять же по такой схеме отключил (просто не обновил). Но, думается мне, есть варианты получше.
Вопросы:
— Если вы сделали автоматическое обновление, то отключаемо ли оно? (логично бы дать пользователю решать, но тогда бесполезно хардкодить плохие лицензии)
— Как вы скачиваете обновление? (сами, через BITS, etc)
— Как вы подменяете экзешник на новый?
Проект Ребенок8020 — пошаговый гайд как сделать, вырастить и воспитать ребенка.
Если включена автопроверка обновлений, то при появлении обновления выскакивает окно — а вот есть новая версия. И ссылка на сайт. Далее он топает по ссылке, качает и ставит заново поверх установленной.
Здравствуйте, Basil2, Вы писали:
B>Свою я выпускаю в виде единого экзешника. У него задан срок годности (обычно это два месяца), далее он просто перестает работать. Соответственно, пользователи идут на сайт и скачивают новую версию.
Я долго страдал с одной такой бесплатной версией программы. А потом пошел и купил другую, которая не мучила меня этим безобразием. Из принципа купил другую, чтобы не платить деньги этим .
Re[2]: Как вы обновляете программу у пользователя?
QC>Если включена автопроверка обновлений, то при появлении обновления выскакивает окно — а вот есть новая версия. И ссылка на сайт. Далее он топает по ссылке, качает и ставит заново поверх установленной.
я раньше прикручивал либу WinSparkle (или Sparkle для macOS) которая делает авто-обновление, там все нюансы учтены. Практически в тихую можно делать апдейты.
Но потом сделал как написал Qt-Coder. То есть прога спрашивает json файл и если build выше чем текущий,
то юзеру показывается сообщение со ссылкой (попапом или в статус-баре). Он кликает на ссылку и переходит на сайт, грузит, инсталлит.
Это более правильно с точки зрения маркетинга: там вы можете юзеру показать например супер-пупер предложение на новую прогу,
или просто пометить его FB-пикселем чтобы потом не навязчиво напоминать о себе рекламой. Думаю идея понятна.
Re[2]: Как вы обновляете программу у пользователя?
Здравствуйте, NWP, Вы писали:
NWP>Здравствуйте, Basil2, Вы писали:
B>>Свою я выпускаю в виде единого экзешника. У него задан срок годности (обычно это два месяца), далее он просто перестает работать. Соответственно, пользователи идут на сайт и скачивают новую версию. NWP>
NWP>Я долго страдал с одной такой бесплатной версией программы. А потом пошел и купил другую, которая не мучила меня этим безобразием. Из принципа купил другую, чтобы не платить деньги этим .
+1. Тоже пытался бесплатным юзерам создать геморрой. Это не работает.
Здравствуйте, Basil2, Вы писали:
B>Свою я выпускаю в виде единого экзешника. У него задан срок годности (обычно это два месяца), далее он просто перестает работать. Соответственно, пользователи идут на сайт и скачивают новую версию.
B>Знаю ,сделано через ж. Но я не успевал прикрутить монетизацию и хотел таким образом ограничить срок действия бесплатной версии. А сейчас прижилось, в схеме есть свои преимущества: регулярное посещение сайта, по числу загрузок можно мониторить число активных пользователей; фришку опять же по такой схеме отключил (просто не обновил). Но, думается мне, есть варианты получше.
B>Вопросы:
B>- Если вы сделали автоматическое обновление, то отключаемо ли оно? (логично бы дать пользователю решать, но тогда бесполезно хардкодить плохие лицензии)
B>- Как вы скачиваете обновление? (сами, через BITS, etc)
B>- Как вы подменяете экзешник на новый?
— При проверке обновления идет запрос на сервер. Дополнительно передается текущая версия, флаг платной лицензии и флаг "проверки обновления" из настроек программы. Для каждой комбинации сервер может вернут свое обновление.
— Обновление может быть опциональное (видно юзерам по запросу) или обязательное.
— Юзер может установить опциональное обновление по клику на кнопку в диалоге (либо отложить его). Никаких заходов на сайт не требуется при этом, приложение скачивает и запускает всё само.
— Обязательные обновления запускаются в фоне сразу перед выходом из программы в silent режиме
— Обязательные обновления запускаются независимо от флага "проверять обновления" в настройках
— можно раздавать платным юзерам отдельные апдейты
— с обязательными апдейтами можно всех бесплатных юзеров в фоне загонять на бета версии, пусть тестируют
Приложение качает всё само.
Приложение запускает msiexec в фоне в silent режиме, то есть после выхода приложение обновляется само.
Re[2]: Как вы обновляете программу у пользователя?
Здравствуйте, NWP, Вы писали:
B>>Свою я выпускаю в виде единого экзешника. У него задан срок годности (обычно это два месяца), далее он просто перестает работать. Соответственно, пользователи идут на сайт и скачивают новую версию.
NWP>Я долго страдал с одной такой бесплатной версией программы. А потом пошел и купил другую, которая не мучила меня этим безобразием. Из принципа купил другую, чтобы не платить деньги этим .
А как там было это организовано? Какой интервал дял скачивания?
Проект Ребенок8020 — пошаговый гайд как сделать, вырастить и воспитать ребенка.
Re[3]: Как вы обновляете программу у пользователя?
Здравствуйте, Basil2, Вы писали:
B>А как там было это организовано? Какой интервал дял скачивания?
Не помню точно. По ощущения что то около недель 2-х, а может и 4-х. Это была тулза для работы с СУБД — таблицы, запросы вот это вот все. Нужна не очень часто, но когда срочно надо зайти и что-то сделать так нет. Иди и скачивай новую версию. И не просто скачивать, а еще войти с паролем на сайт.
Обновления вообще раздражают, а уж в таком виде — лютый капец!
Re[2]: Как вы обновляете программу у пользователя?
Здравствуйте, ov, Вы писали:
I>>Приложение запускает msiexec в фоне в silent режиме, то есть после выхода приложение обновляется само.
ov>а как быть с UAC? при выходе из программы, получается, показывается окно запроса прав доступа к системе? мне бы стремно было такое увидеть.
У меня с правами юзера работает инсталлятор, без UAC. Но можно делать как тот же хром, устанавливать изначально сервис для обновлений в фоне.
Здравствуйте, Basil2, Вы писали:
B>Свою я выпускаю в виде единого экзешника. У него задан срок годности (обычно это два месяца), далее он просто перестает работать. Соответственно, пользователи идут на сайт и скачивают новую версию.
Я бы перестал пользоваться программой, которая со мной так поступила, при наличии хоть какой-то возможности ей не пользоваться.
Re[2]: Как вы обновляете программу у пользователя?
Здравствуйте, Basil2, Вы писали:
B>Здравствуйте, Ivanoff, Вы писали:
I>>Приложение качает всё само.
B>А как качает?
Я влезу — https через WinInet оптимальный вариант, потому что автоматом понимает системные прокси настройки и не зависит от сторонних сервисов. Можно также настроить, чтобы икебана принимала только конкретные серверные сертификаты (что полезно? если хочется не давать всяким-разным разглядывать raw трафик через SSL proxying).
Re[4]: Как вы обновляете программу у пользователя?
Здравствуйте, wantus, Вы писали:
I>>>Приложение качает всё само. B>>А как качает? W>Я влезу — https через WinInet оптимальный вариант, потому что автоматом понимает системные прокси настройки и не зависит от сторонних сервисов. Можно также настроить, чтобы икебана принимала только конкретные серверные сертификаты (что полезно? если хочется не давать всяким-разным разглядывать raw трафик через SSL proxying).
А как у него взаимодействие со встроенным в винду фаерволом?
В частности, будет ли при первом запуске приложения вопрос "Приложение хочет в сеть; разрешить приватно? разрешить публично?".
Проект Ребенок8020 — пошаговый гайд как сделать, вырастить и воспитать ребенка.
Re[5]: Как вы обновляете программу у пользователя?
Здравствуйте, Basil2, Вы писали:
B>Здравствуйте, wantus, Вы писали:
I>>>>Приложение качает всё само. B>>>А как качает? W>>Я влезу — https через WinInet оптимальный вариант, потому что автоматом понимает системные прокси настройки и не зависит от сторонних сервисов. Можно также настроить, чтобы икебана принимала только конкретные серверные сертификаты (что полезно? если хочется не давать всяким-разным разглядывать raw трафик через SSL proxying).
B>А как у него взаимодействие со встроенным в винду фаерволом? B>В частности, будет ли при первом запуске приложения вопрос "Приложение хочет в сеть; разрешить приватно? разрешить публично?".
Если ходить по http то ничего дефолтный файрволл не спрашивает ничего уже давно.
Re[5]: Как вы обновляете программу у пользователя?
Здравствуйте, Basil2, Вы писали:
B>Здравствуйте, wantus, Вы писали:
I>>>>Приложение качает всё само. B>>>А как качает? W>>Я влезу — https через WinInet оптимальный вариант, потому что автоматом понимает системные прокси настройки и не зависит от сторонних сервисов. Можно также настроить, чтобы икебана принимала только конкретные серверные сертификаты (что полезно? если хочется не давать всяким-разным разглядывать raw трафик через SSL proxying).
B>А как у него взаимодействие со встроенным в винду фаерволом? B>В частности, будет ли при первом запуске приложения вопрос "Приложение хочет в сеть; разрешить приватно? разрешить публично?".