Я поддерживаю большое приложение Windows C ++, которое устанавливается с nullsoft nsis. Установка быстрая и простая (менее 1 минуты).
Некоторые пользователи в крупных компаниях не имеют прав администратора, и им приходится заказывать дорогостоящие сторонние сервисы для обновления своей установки. Поэтому некоторые из них обновляются только раз в год, а мы отправляем их каждый месяц, а иногда исправляем важные ошибки и т. Д.
Поэтому мы думаем об автоматических обновлениях, которые не требуют повышенных прав администратора. Mozilla и Adobe делают это так же, как и другие. Насколько я могу видеть Сайт Mozilla XULRunner они устанавливают службу, которая в свою очередь может запускать обновление, не заставляя пользователя вводить пароль администратора. Я также нашел Гугл Омаха но неясно, какие привилегии у администратора («Поддержка ограниченных пользовательских сред; например, пользователей без прав администратора» … «Для этого требуется, чтобы у пользователя были права администратора».).
Пока я не нашел точных ответов на эти вопросы:
Ваша заявка должна проверить наличие обновлений на вашем сервере / сайте и получить ссылку для скачивания.
Это должно быть довольно легко, если вы поддерживаете текстовый файл / страницу с фиксированной гиперссылкой.
Эта гиперссылка может быть жестко запрограммирована в вашем приложении.
Если он обнаруживает версию, более новую, чем текущая, загрузите файлы.
Наряду с этими файлами должны быть инструкции, какие файлы заменять и какие файлы нужно добавлять в какое место и т. Д.
Теперь, нужны ли вам права администратора, зависит от того, где вам нужно разместить обновленные файлы. Если целевая папка имеет некоторые ограничения, ее будет сложно обновить в том же сеансе. Таким образом, вам может потребоваться запустить фиктивный exe-файл, который запрашивает у пользователя права администратора во время запуска. Теперь вы можете скопировать обновленные файлы в нужное место без особых усилий.