Установщик служб Windows .NET

Несколько лет назад я разработал службу Windows. Текущая версия использует VS2010, и к проекту прилагается установщик службы. Все работает, и последняя публикация, которую я выполнил, была в начале 2013 года (около года назад).

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

'Невозможно запустить службу из командной строки или отладчика. Сначала необходимо установить службу Windows (с помощью installutl.exe), а затем запустить ее с помощью ServerExplorer, инструмента администрирования служб Windows или команды NET START.

Теперь, прежде чем вы начнете, вот хороший простой вопрос (я надеюсь, что это что-то глупое), я перешел по приведенным ниже ссылкам на букву 'T', установщик настроен как служба, и ServiceName совпадает между классом программы и установщик.

http://msdn.microsoft.com/en-us/library/ddhy0byf(v=vs.110).aspx

http://msdn.microsoft.com/en-us/library/zt39148a%28v=vs.100%29.aspx

Кроме того, я пробовал следующее:

  • Загрузил проект в VS2012 - все еще та же ошибка
  • Создал новую пустую службу, выполнив описанные выше шаги, чтобы добавить установщик. Опять же, это вызвало ту же ошибку, поэтому проект не может быть сбит с толку.

Есть ли у кого-нибудь идеи, в чем может быть проблема, или свойства / настройки для проверки? Помню, когда я использовал VS2008, установщик настраивался как отдельный проект. Я мог бы пойти по этому пути, но очень хотел бы выяснить, что не так, используя этот метод.


person Radderz    schedule 02.02.2014    source источник
comment
Microsoft исключила тип проекта Windows Installer в Visual Studio 2012. Они предоставляют Install Shield LE как своего рода замену, но он работает иначе и во многих случаях не выполняет те же задачи.   -  person Erik Funkenbusch    schedule 03.02.2014
comment
О нет, мое решение для резервного копирования исчезло: |   -  person Radderz    schedule 03.02.2014
comment
Не могли бы вы немного пояснить свой сценарий - вы упоминаете setup exe, но сообщение об ошибке подразумевает, что вы работаете в среде IDE? Насколько мне известно (далеко не исчерпывающим), вы не можете отлаживать сервис как таковой. Когда я в последний раз писал службу, я добавил еще один проект для запуска, чтобы разрешить отладку во время выполнения, в сочетании с обширной записью в журнал событий при тестировании полностью установленной службы.   -  person Paul Eden    schedule 05.02.2014
comment
Оказалось, что это проблема установщика. Как сказал @ErikTheViking, встроенный установщик устарел, и, хотя он все еще был в моем проекте, он перестал правильно работать для установки служб. Мне удалось обойти это, используя набор инструментов стороннего установщика от WiX wix.codeplex.com   -  person Radderz    schedule 17.02.2014
comment
@PaulEden Вы можете отладить службы.   -  person doug65536    schedule 13.08.2017


Ответы (1)


Оказалось, что это проблема установщика. Как сказал @ErikTheViking, встроенный установщик устарел, и, хотя он все еще был в моем проекте, он перестал правильно работать для установки служб.

Мне удалось обойти это, используя набор инструментов стороннего установщика на WiX.

person Radderz    schedule 04.08.2014