В настоящее время мы изучаем изменение процесса обновления для нашего приложения, есть много возможных способов сделать это, однако сначала я расскажу немного. В настоящее время мы запускаем приложение MVVM WPF/Silverlight, в котором есть база данных SQL Server 2008 R2, работающая локально и онлайн. В настоящее время у нас есть процесс обновления, который проверяет онлайн для обновления, а затем запускает программу обновления для повышения разрешений перед запуском файлов исправлений MSI или MSP для применения обновления.Предложения по автоматизированным обновлениям
К сожалению, из-за настройки большинства наших клиентов мы обнаруживаем, что большинство пользователей борются с правами доступа, поскольку их локальные администраторы не всегда доступны. Это привело нас к поиску альтернативных подходов.
Наша идеальная ситуация заключалась бы в том, чтобы процесс выполнялся тихо в фоновом режиме под учетной записью системы, которая периодически проверяет сервер на наличие обновлений. Когда обновление считается доступным, текущий пользователь должен быть проинформирован о том, что обновление доступно и спрошено, хотят ли они его загрузить. (Также обсуждается молчаливая загрузка с нажатием кнопки для запуска обновления при его готовности). Затем процесс может запускать пользовательский интерфейс, чтобы показать загружаемые загрузки, и это было бы идеально, если бы это было отображено в области уведомлений на панели инструментов. В конце этого процесса он должен запустить файл MSI под повышенными разрешениями, чтобы позволить пользователю обновлять программное обеспечение без прав администратора.
Первоначальная установка программного обеспечения будет выполняться администратором, который будет ознакомлен с этим полным автоматическим процессом обновления.
Так что мой вопрос:
Что является лучшей практикой подходом к выполнению такого рода процесс? Какие у вас есть предложения по кодированию, например, если у нас есть приложение или запуск процесса с «Задачи или службы»? Есть ли программное обеспечение, специально разработанное для решения этой проблемы? Существует ли конкретная учетная запись Windows, предназначенная для таких целей? Любые примеры и плюсы и минусы различных практик.
Я понимаю, что это очень неопределенный вопрос, но я бы предпочел следовать рекомендованному подходу, а не изобретать колесо.
Спасибо.
+ 1/-1 для: Я понимаю, что это очень расплывчатый вопрос, но я бы предпочел, чтобы следовать рекомендуемый подход, а не изобретать колесо :). – Noctis