2014-10-06 2 views
0

В настоящее время мы изучаем изменение процесса обновления для нашего приложения, есть много возможных способов сделать это, однако сначала я расскажу немного. В настоящее время мы запускаем приложение MVVM WPF/Silverlight, в котором есть база данных SQL Server 2008 R2, работающая локально и онлайн. В настоящее время у нас есть процесс обновления, который проверяет онлайн для обновления, а затем запускает программу обновления для повышения разрешений перед запуском файлов исправлений MSI или MSP для применения обновления.Предложения по автоматизированным обновлениям

К сожалению, из-за настройки большинства наших клиентов мы обнаруживаем, что большинство пользователей борются с правами доступа, поскольку их локальные администраторы не всегда доступны. Это привело нас к поиску альтернативных подходов.

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

Первоначальная установка программного обеспечения будет выполняться администратором, который будет ознакомлен с этим полным автоматическим процессом обновления.

Так что мой вопрос:

Что является лучшей практикой подходом к выполнению такого рода процесс? Какие у вас есть предложения по кодированию, например, если у нас есть приложение или запуск процесса с «Задачи или службы»? Есть ли программное обеспечение, специально разработанное для решения этой проблемы? Существует ли конкретная учетная запись Windows, предназначенная для таких целей? Любые примеры и плюсы и минусы различных практик.

Я понимаю, что это очень неопределенный вопрос, но я бы предпочел следовать рекомендованному подходу, а не изобретать колесо.

Спасибо.

+0

+ 1/-1 для: Я понимаю, что это очень расплывчатый вопрос, но я бы предпочел, чтобы следовать рекомендуемый подход, а не изобретать колесо :). – Noctis

ответ

0

Возможно, у меня здесь нет следа, но почему бы не сделать приложение одним кликом после приложения. Таким образом, каждый раз, когда ваше приложение запускается, он может проверить, есть ли более новая версия и предложить конечному пользователю установить обновленную версию.

Если возникла проблема с новой версией, конечный пользователь сможет вернуться к предыдущей версии.

Мы использовали этот подход с несколькими приложениями WPF с большим эффектом.

Мы склонны публиковать в папке на машине разработки, а затем ftp на общедоступный сервер.

use the publish wizard from the properties-publish

Select a local file location

Specify how users will install the application

Enter the public URL for updates

Ready to publish

Смежные вопросы