Автоматическое обновление службы Windows - PullRequest
1 голос
/ 08 сентября 2011

У меня есть MSI, который устанавливает службу Windows.Я хочу, чтобы служба получала сообщение и могла обновляться сама.Я попытался выделить новый процесс, который запускает другую сборку, которая по очереди запускает MSIEXEC с флагом / Uninstall, а затем устанавливает новый MSI.

Проблема здесь в том, что она, похоже, ничего не делает .. Я смотрел на это, кажется, проблема с правами администратора.Я добавил глагол «runas» для обеспечения прав администратора: MSI теперь работает, но требует взаимодействия с пользователем (что я не хочу) для соответствия UAC.Можно ли вообще автоматизировать этот процесс или нет?

Спасибо.

1 Ответ

1 голос
/ 09 сентября 2011

Ваш подход неверен.

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

Кроме того, вы не можете обновить службу во время ее работы. Таким образом, ваш сервис должен создать временный файл и запустить процесс. Этот временный процесс может затем обработать обновление (загрузка и исполнение новой версии). Также этот временный процесс должен прекратиться после обновления и каким-то образом удалить его файл.

Это не так просто, как кажется. Вот почему хорошие приложения Updater стоят больших денег.

...