Служба Windows не будет установлена: указанная служба уже существует - PullRequest
2 голосов
/ 05 марта 2012

Я пишу небольшой сервис на C #, и я установил его, и удалил его пару раз, и вдруг он не установится снова.Я попытался удалить его, и он говорит, что удалить нечего, но при повторной установке я получаю следующее сообщение:

Ошибка 1001: указанная служба уже существует

Теперь я попробовал следующие решения:

  • Закройте диспетчер сервисов (поскольку открытый диспетчер сервисов может держать его в руках)

  • Пытался найти его с помощью SC QUERY и удалить с помощью SC DELETE (согласно Сервис уже существует (когда его явно нет) )

  • Пробовалчтобы удалить его в regedit (там нет)

  • Я правильно добавил вывод проекта в пользовательские действия (установка, принятие, откат, удаление)

  • Перезагрузил компьютер (!)

У меня заканчиваются идеи.Нет абсолютно никаких доказательств того, что служба установлена ​​на моем компьютере, и хотя тысячи разработчиков, похоже, имели эту проблему (и я даже сам имел ее ранее), я никогда не слышал о ситуации, когда ни одно из стандартных решенийна самом деле работает.

Что я мог пропустить?

РЕДАКТИРОВАТЬ

Я был в regedit, и я снова попытался найти свой сервис, нона этот раз я экспортировал раздел HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Services \ и искал его.Я могу найти свой сервис в дампе по адресу:

HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Services \ MyService

Но затем я перехожу туда в представлении regedit, его там нет,Какие-либо предложения?Как я облажался:?

RE-EDIT

Не обращать внимания на редактирование, сервис показывается только в regedit, пока install i показывает сообщение об ошибке, но это событиестраннее, сервис установлен, потом ломается и откатывается ...

Ответы [ 3 ]

2 голосов
/ 05 марта 2012

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

1 голос
/ 05 марта 2012

Я бы посоветовал посмотреть и Sysinternals Process Monitor и вернуться назад, пытаясь найти то, что произошло до того, как было сообщено об ошибке.Возможно, вы увидите, что, например, к определенной клавише reg обращались.

0 голосов
/ 16 апреля 2012

У меня была проблема, похожая на эту (служба находилась в остановленном состоянии, а затем была удалена чрезмерно усердным дисковым пространством), и для ее решения я скопировала свою новую службу в то же место, которое отмечено в поле «Путь к исполняемому файлу». , а затем запустил службу.

Пока никаких проблем.

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