Я пытаюсь запретить нашим установщикам wix запрашивать перезагрузку при удалении. Наши услуги должны быть удалены и удалены при удалении. К сожалению, для нас RestartManager подсказывает пользователю, что во время действия InstallValidate потребуется перезагрузка. Это действие происходит задолго до действий StopServices и DeleteServices.
Проверяя журналы, кажется, что RestartManager считает, что наш сервис является критическим процессом:
"Обнаружено приложение с идентификатором 1234, понятным именем 'abc', коротким именем службы 'xyz', типом RmCritical и статусом 1 содержит файлы [s] в использовании."
Службы установлены и работают под локальной системной учетной записью. Я не уверен, но я думаю, что если RestartManager возвращал RmService вместо RmCritical, то это не было бы причиной перезагрузки.
Любая помощь высоко ценится.
EDIT:
MSDN утверждает, что для RMCritical:
Для завершения установки требуется перезагрузка системы, поскольку процесс не может быть остановлен. Процесс не может быть остановлен по следующим причинам. Процесс может быть критическим процессом. Текущий пользователь может не иметь разрешения на завершение процесса. Процесс может принадлежать основному установщику, который запустил менеджер перезапуска.
У пользователя есть разрешение на отключение служб, и эти службы не имеют ничего общего с msiexec, поэтому я могу только предположить, что наш сервис считается критическим процессом ... но почему?