Как вы обновляете программу у пользователя?
От: Basil2 Россия https://starostin.msk.ru
Дата: 24.05.20 06:33
Оценка:
Свою я выпускаю в виде единого экзешника. У него задан срок годности (обычно это два месяца), далее он просто перестает работать. Соответственно, пользователи идут на сайт и скачивают новую версию.

Знаю ,сделано через ж. Но я не успевал прикрутить монетизацию и хотел таким образом ограничить срок действия бесплатной версии. А сейчас прижилось, в схеме есть свои преимущества: регулярное посещение сайта, по числу загрузок можно мониторить число активных пользователей; фришку опять же по такой схеме отключил (просто не обновил). Но, думается мне, есть варианты получше.

Вопросы:

— Если вы сделали автоматическое обновление, то отключаемо ли оно? (логично бы дать пользователю решать, но тогда бесполезно хардкодить плохие лицензии)

— Как вы скачиваете обновление? (сами, через BITS, etc)

— Как вы подменяете экзешник на новый?
Проект Ребенок8020 — пошаговый гайд как сделать, вырастить и воспитать ребенка.
Re: Как вы обновляете программу у пользователя?
От: Qt-Coder  
Дата: 24.05.20 06:38
Оценка: 3 (1)
Если включена автопроверка обновлений, то при появлении обновления выскакивает окно — а вот есть новая версия. И ссылка на сайт. Далее он топает по ссылке, качает и ставит заново поверх установленной.
Re: Как вы обновляете программу у пользователя?
От: NWP Россия  
Дата: 24.05.20 12:41
Оценка: 3 (1) +1
Здравствуйте, Basil2, Вы писали:

B>Свою я выпускаю в виде единого экзешника. У него задан срок годности (обычно это два месяца), далее он просто перестает работать. Соответственно, пользователи идут на сайт и скачивают новую версию.



Я долго страдал с одной такой бесплатной версией программы. А потом пошел и купил другую, которая не мучила меня этим безобразием. Из принципа купил другую, чтобы не платить деньги этим .
Re[2]: Как вы обновляете программу у пользователя?
От: Michael  
Дата: 24.05.20 16:48
Оценка: 3 (1)
Здравствуйте, Qt-Coder, Вы писали:


QC>Если включена автопроверка обновлений, то при появлении обновления выскакивает окно — а вот есть новая версия. И ссылка на сайт. Далее он топает по ссылке, качает и ставит заново поверх установленной.


я раньше прикручивал либу WinSparkle (или Sparkle для macOS) которая делает авто-обновление, там все нюансы учтены. Практически в тихую можно делать апдейты.

Но потом сделал как написал Qt-Coder. То есть прога спрашивает json файл и если build выше чем текущий,
то юзеру показывается сообщение со ссылкой (попапом или в статус-баре). Он кликает на ссылку и переходит на сайт, грузит, инсталлит.

Это более правильно с точки зрения маркетинга: там вы можете юзеру показать например супер-пупер предложение на новую прогу,
или просто пометить его FB-пикселем чтобы потом не навязчиво напоминать о себе рекламой. Думаю идея понятна.
Re[2]: Как вы обновляете программу у пользователя?
От: Ivanoff  
Дата: 24.05.20 23:23
Оценка:
Здравствуйте, NWP, Вы писали:

NWP>Здравствуйте, Basil2, Вы писали:


B>>Свою я выпускаю в виде единого экзешника. У него задан срок годности (обычно это два месяца), далее он просто перестает работать. Соответственно, пользователи идут на сайт и скачивают новую версию.

NWP>

NWP>Я долго страдал с одной такой бесплатной версией программы. А потом пошел и купил другую, которая не мучила меня этим безобразием. Из принципа купил другую, чтобы не платить деньги этим .


+1. Тоже пытался бесплатным юзерам создать геморрой. Это не работает.
Re: Как вы обновляете программу у пользователя?
От: Ivanoff  
Дата: 24.05.20 23:35
Оценка: 9 (1)
Здравствуйте, Basil2, Вы писали:

B>Свою я выпускаю в виде единого экзешника. У него задан срок годности (обычно это два месяца), далее он просто перестает работать. Соответственно, пользователи идут на сайт и скачивают новую версию.


B>Знаю ,сделано через ж. Но я не успевал прикрутить монетизацию и хотел таким образом ограничить срок действия бесплатной версии. А сейчас прижилось, в схеме есть свои преимущества: регулярное посещение сайта, по числу загрузок можно мониторить число активных пользователей; фришку опять же по такой схеме отключил (просто не обновил). Но, думается мне, есть варианты получше.


B>Вопросы:


B>- Если вы сделали автоматическое обновление, то отключаемо ли оно? (логично бы дать пользователю решать, но тогда бесполезно хардкодить плохие лицензии)


B>- Как вы скачиваете обновление? (сами, через BITS, etc)


B>- Как вы подменяете экзешник на новый?


— При проверке обновления идет запрос на сервер. Дополнительно передается текущая версия, флаг платной лицензии и флаг "проверки обновления" из настроек программы. Для каждой комбинации сервер может вернут свое обновление.

— Обновление может быть опциональное (видно юзерам по запросу) или обязательное.

— Юзер может установить опциональное обновление по клику на кнопку в диалоге (либо отложить его). Никаких заходов на сайт не требуется при этом, приложение скачивает и запускает всё само.

— Обязательные обновления запускаются в фоне сразу перед выходом из программы в silent режиме

— Обязательные обновления запускаются независимо от флага "проверять обновления" в настройках

— можно раздавать платным юзерам отдельные апдейты

— с обязательными апдейтами можно всех бесплатных юзеров в фоне загонять на бета версии, пусть тестируют

Приложение качает всё само.

Приложение запускает msiexec в фоне в silent режиме, то есть после выхода приложение обновляется само.
Re[2]: Как вы обновляете программу у пользователя?
От: Basil2 Россия https://starostin.msk.ru
Дата: 25.05.20 11:06
Оценка:
Здравствуйте, NWP, Вы писали:

B>>Свою я выпускаю в виде единого экзешника. У него задан срок годности (обычно это два месяца), далее он просто перестает работать. Соответственно, пользователи идут на сайт и скачивают новую версию.


NWP>Я долго страдал с одной такой бесплатной версией программы. А потом пошел и купил другую, которая не мучила меня этим безобразием. Из принципа купил другую, чтобы не платить деньги этим .


А как там было это организовано? Какой интервал дял скачивания?
Проект Ребенок8020 — пошаговый гайд как сделать, вырастить и воспитать ребенка.
Re[3]: Как вы обновляете программу у пользователя?
От: NWP Россия  
Дата: 25.05.20 11:53
Оценка: 6 (1) +1
Здравствуйте, Basil2, Вы писали:

B>А как там было это организовано? Какой интервал дял скачивания?


Не помню точно. По ощущения что то около недель 2-х, а может и 4-х. Это была тулза для работы с СУБД — таблицы, запросы вот это вот все. Нужна не очень часто, но когда срочно надо зайти и что-то сделать так нет. Иди и скачивай новую версию. И не просто скачивать, а еще войти с паролем на сайт.

Обновления вообще раздражают, а уж в таком виде — лютый капец!
Re[2]: Как вы обновляете программу у пользователя?
От: ov  
Дата: 25.05.20 20:16
Оценка: +1
I>Приложение запускает msiexec в фоне в silent режиме, то есть после выхода приложение обновляется само.

а как быть с UAC? при выходе из программы, получается, показывается окно запроса прав доступа к системе? мне бы стремно было такое увидеть.
Re[3]: Как вы обновляете программу у пользователя?
От: Ivanoff  
Дата: 26.05.20 21:00
Оценка:
Здравствуйте, ov, Вы писали:

I>>Приложение запускает msiexec в фоне в silent режиме, то есть после выхода приложение обновляется само.


ov>а как быть с UAC? при выходе из программы, получается, показывается окно запроса прав доступа к системе? мне бы стремно было такое увидеть.


У меня с правами юзера работает инсталлятор, без UAC. Но можно делать как тот же хром, устанавливать изначально сервис для обновлений в фоне.
Re: Как вы обновляете программу у пользователя?
От: Pzz Россия https://github.com/alexpevzner
Дата: 26.05.20 23:07
Оценка: +1
Здравствуйте, Basil2, Вы писали:

B>Свою я выпускаю в виде единого экзешника. У него задан срок годности (обычно это два месяца), далее он просто перестает работать. Соответственно, пользователи идут на сайт и скачивают новую версию.


Я бы перестал пользоваться программой, которая со мной так поступила, при наличии хоть какой-то возможности ей не пользоваться.
Re[2]: Как вы обновляете программу у пользователя?
От: Basil2 Россия https://starostin.msk.ru
Дата: 27.05.20 06:29
Оценка:
Здравствуйте, Ivanoff, Вы писали:

I>Приложение качает всё само.


А как качает?
С ftp или по http?
Чисто свой код, WinAPI, через CURL, через BITS?
Проект Ребенок8020 — пошаговый гайд как сделать, вырастить и воспитать ребенка.
Re[3]: Как вы обновляете программу у пользователя?
От: wantus  
Дата: 27.05.20 10:12
Оценка:
Здравствуйте, Basil2, Вы писали:

B>Здравствуйте, Ivanoff, Вы писали:


I>>Приложение качает всё само.


B>А как качает?


Я влезу — https через WinInet оптимальный вариант, потому что автоматом понимает системные прокси настройки и не зависит от сторонних сервисов. Можно также настроить, чтобы икебана принимала только конкретные серверные сертификаты (что полезно? если хочется не давать всяким-разным разглядывать raw трафик через SSL proxying).
Re[4]: Как вы обновляете программу у пользователя?
От: Basil2 Россия https://starostin.msk.ru
Дата: 27.05.20 13:06
Оценка:
Здравствуйте, wantus, Вы писали:

I>>>Приложение качает всё само.

B>>А как качает?
W>Я влезу — https через WinInet оптимальный вариант, потому что автоматом понимает системные прокси настройки и не зависит от сторонних сервисов. Можно также настроить, чтобы икебана принимала только конкретные серверные сертификаты (что полезно? если хочется не давать всяким-разным разглядывать raw трафик через SSL proxying).

А как у него взаимодействие со встроенным в винду фаерволом?
В частности, будет ли при первом запуске приложения вопрос "Приложение хочет в сеть; разрешить приватно? разрешить публично?".
Проект Ребенок8020 — пошаговый гайд как сделать, вырастить и воспитать ребенка.
Re[5]: Как вы обновляете программу у пользователя?
От: Ivanoff  
Дата: 27.05.20 17:20
Оценка: 6 (1)
Здравствуйте, Basil2, Вы писали:

B>Здравствуйте, wantus, Вы писали:


I>>>>Приложение качает всё само.

B>>>А как качает?
W>>Я влезу — https через WinInet оптимальный вариант, потому что автоматом понимает системные прокси настройки и не зависит от сторонних сервисов. Можно также настроить, чтобы икебана принимала только конкретные серверные сертификаты (что полезно? если хочется не давать всяким-разным разглядывать raw трафик через SSL proxying).

B>А как у него взаимодействие со встроенным в винду фаерволом?

B>В частности, будет ли при первом запуске приложения вопрос "Приложение хочет в сеть; разрешить приватно? разрешить публично?".

Если ходить по http то ничего дефолтный файрволл не спрашивает ничего уже давно.
Re[5]: Как вы обновляете программу у пользователя?
От: Ivanoff  
Дата: 27.05.20 17:21
Оценка:
Здравствуйте, Basil2, Вы писали:

B>Здравствуйте, wantus, Вы писали:


I>>>>Приложение качает всё само.

B>>>А как качает?
W>>Я влезу — https через WinInet оптимальный вариант, потому что автоматом понимает системные прокси настройки и не зависит от сторонних сервисов. Можно также настроить, чтобы икебана принимала только конкретные серверные сертификаты (что полезно? если хочется не давать всяким-разным разглядывать raw трафик через SSL proxying).

B>А как у него взаимодействие со встроенным в винду фаерволом?

B>В частности, будет ли при первом запуске приложения вопрос "Приложение хочет в сеть; разрешить приватно? разрешить публично?".
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.