Здравствуйте, Basil2, Вы писали:
B>Свою я выпускаю в виде единого экзешника. У него задан срок годности (обычно это два месяца), далее он просто перестает работать. Соответственно, пользователи идут на сайт и скачивают новую версию.
B>Знаю ,сделано через ж.
Но я не успевал прикрутить монетизацию и хотел таким образом ограничить срок действия бесплатной версии. А сейчас прижилось, в схеме есть свои преимущества: регулярное посещение сайта, по числу загрузок можно мониторить число активных пользователей; фришку опять же по такой схеме отключил (просто не обновил). Но, думается мне, есть варианты получше.
B>Вопросы:
B>- Если вы сделали автоматическое обновление, то отключаемо ли оно? (логично бы дать пользователю решать, но тогда бесполезно хардкодить плохие лицензии)
B>- Как вы скачиваете обновление? (сами, через BITS, etc)
B>- Как вы подменяете экзешник на новый?
— При проверке обновления идет запрос на сервер. Дополнительно передается текущая версия, флаг платной лицензии и флаг "проверки обновления" из настроек программы. Для каждой комбинации сервер может вернут свое обновление.
— Обновление может быть опциональное (видно юзерам по запросу) или обязательное.
— Юзер может установить опциональное обновление по клику на кнопку в диалоге (либо отложить его). Никаких заходов на сайт не требуется при этом, приложение скачивает и запускает всё само.
— Обязательные обновления запускаются в фоне сразу перед выходом из программы в silent режиме
— Обязательные обновления запускаются независимо от флага "проверять обновления" в настройках
— можно раздавать платным юзерам отдельные апдейты
— с обязательными апдейтами можно всех бесплатных юзеров в фоне загонять на бета версии, пусть тестируют
Приложение качает всё само.
Приложение запускает msiexec в фоне в silent режиме, то есть после выхода приложение обновляется само.