Мне проще при создании службы Windows создать консольное приложение, которое выполняет ту же работу, что и служба.Я абстрагирую реальный рабочий код (например, приведенный выше фрагмент кода) в отдельную сборку, а затем просто вызываю его из метода запуска моей службы или из основного метода консоли.
Если вы переместите свой код выше в консольприложение, оно работает?Если этого не произойдет, вы можете пройти через это и сообщить нам, где это не удается.А когда не получается, какую информацию об исключениях вы видите?
Дайте нам знать, и мы поможем!