иногда происходит сбой при удалении службы Windows - PullRequest
0 голосов
/ 19 ноября 2010

У меня проблемы с удалением и переустановкой службы Windows. иногда при удалении с использованием пакета MSI для службы (даже после остановки службы и закрытия консоли управления службами) служба не удаляется, а затем, если я запускаю «installUtil», служба отключается, но не удаляется с консоли. тогда, если я пытаюсь "sc delete service.exe", я получаю ошибку "служба помечена для удаления". как только эта ошибка возникает, единственный вариант, который я имею, состоит в том, чтобы перезапустить рабочую станцию ​​или сервер, где бы он ни был установлен. иногда он работает нормально, а иногда не удаляется должным образом. Как я могу убедиться, что удаление работает всегда? почему удаление так больно? во время разработки мне нужно несколько раз переустанавливать службу, чтобы установить новую версию службы, и будет полезно легко переустановить службу без перезагрузки компьютера.
заранее спасибо.

Ответы [ 2 ]

2 голосов
/ 19 ноября 2010

Я столкнулся с подобной проблемой, когда постоянно устанавливал, перестраивал и удалял свой сервис во время тестирования. Я думаю, что это было связано с восстановлением MSI, прежде чем пытаться удалить службу. Всегда избегайте удаления из диалогового окна «Установка и удаление программ», но это немного хлопотно. В итоге я изменил свой проект установки Wix, чтобы сделать три вещи:

  1. MSI настроен для запуска / остановки службы. Один пример здесь .
  2. Выполните пользовательское действие, чтобы остановить установку, если текущая версия или новая версия уже установлена. На основании этого кода.
  3. Создание ярлыка удаления на рабочем столе. Один пример здесь .
0 голосов
/ 19 ноября 2010

Возможно, у вашей службы возникли проблемы с закрытием, потому что она страдает от необработанной ошибки.Если есть журнал, попробуйте посмотреть, если ничего не выброшено там.В противном случае, я бы добавил механизм регистрации (например, log4net).Если добавить механизм ведения журнала не вариант, решение chezy525 кажется правильным.

...