LiveUpdate для службы .NET - PullRequest
0 голосов
/ 08 апреля 2009

Я создаю службу Windows на основе .NET. Предполагается, что часть его функциональности проверяет, доступна ли на сайте более новая версия. Затем предполагается загрузить новый «пакет» и каким-то образом обновить себя. Кто-нибудь знает какие-нибудь библиотеки, которые могут помочь с этим? Я предполагаю, что у меня возникнут проблемы с перезаписью исполняемого файла, который в данный момент запущен.

Ответы [ 2 ]

0 голосов
/ 01 августа 2010

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

0 голосов
/ 13 апреля 2009

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

  1. Приложение проверяет наличие обновлений и при необходимости загружает их.
  2. Если требуется обновление, запустите приложение-помощник (сохраняются разрешения, с которыми было запущено приложение, если это не проблема (например, не забудьте перезапустить приложение от имени администратора), пропустите этот шаг).
  3. Приложение-помощник вызывает службу администратора.
  4. Служба администратора останавливает приложение и обновляет его.
  5. Служба администратора вызывает приложение-помощник, сообщающее, что обновление завершено.
  6. Приложение-помощник перезапускает приложение.

В настоящее время мы используем эту систему в 2000, XP и Vista, где пользователи не должны быть администраторами.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...