Как реализовать автообновления для моего приложения без прав администратора

Я поддерживаю большое приложение Windows C ++, которое устанавливается с nullsoft nsis. Установка быстрая и простая (менее 1 минуты).

Некоторые пользователи в крупных компаниях не имеют прав администратора, и им приходится заказывать дорогостоящие сторонние сервисы для обновления своей установки. Поэтому некоторые из них обновляются только раз в год, а мы отправляем их каждый месяц, а иногда исправляем важные ошибки и т. Д.

Поэтому мы думаем об автоматических обновлениях, которые не требуют повышенных прав администратора. Mozilla и Adobe делают это так же, как и другие. Насколько я могу видеть Сайт Mozilla XULRunner они устанавливают службу, которая в свою очередь может запускать обновление, не заставляя пользователя вводить пароль администратора. Я также нашел Гугл Омаха но неясно, какие привилегии у администратора («Поддержка ограниченных пользовательских сред; например, пользователей без прав администратора» … «Для этого требуется, чтобы у пользователя были права администратора».).

Пока я не нашел точных ответов на эти вопросы:

  • Какие шаги мы должны предпринять, чтобы создать такой механизм?
  • Можем ли мы продолжать с nsis?
  • Какая серверная инфраструктура запрашивается?

1

Решение

Ваша заявка должна проверить наличие обновлений на вашем сервере / сайте и получить ссылку для скачивания.
Это должно быть довольно легко, если вы поддерживаете текстовый файл / страницу с фиксированной гиперссылкой.
Эта гиперссылка может быть жестко запрограммирована в вашем приложении.
Если он обнаруживает версию, более новую, чем текущая, загрузите файлы.
Наряду с этими файлами должны быть инструкции, какие файлы заменять и какие файлы нужно добавлять в какое место и т. Д.

Теперь, нужны ли вам права администратора, зависит от того, где вам нужно разместить обновленные файлы. Если целевая папка имеет некоторые ограничения, ее будет сложно обновить в том же сеансе. Таким образом, вам может потребоваться запустить фиктивный exe-файл, который запрашивает у пользователя права администратора во время запуска. Теперь вы можете скопировать обновленные файлы в нужное место без особых усилий.

0

Другие решения


По вопросам рекламы ammmcru@yandex.ru
Adblock
detector