Служба windows installer была запущена а затем остановлена как запустить
обычно я получаю эту ошибку: (Служба "имя службы" на локальном компьютере запущена, а затем остановлена. Некоторые службы автоматически останавливаются, если они не используются другими службами или программами), когда что-то не так с моим кодом, например, несуществующие пути диска и т. д. Служба windows не запускается.
У меня есть служба windows, которая создает резервные копии папок / файлов, в место, если она достигла предела размера. Все сведения предоставляются конфигурацией XML, которую предоставляет служба windows читает на старте. У меня есть отдельная Windows forms с кнопкой, которая делает именно то, что делает onstart моей службы windows. Я использую windows forms для отладки кода, прежде чем поместить его в службу windows.
когда я запускаю windows forms. Оно делает то, что должно. Когда я поместил свой код в метод onStart() службы windows, появилась ошибка.
Я не знаю, что заставляет службу windows не запускаться, Windows form simulator работал нормально. В чем проблема?
обновление: После многих испытаний я заметил, что с помощью только каталога папок (без файла) служба windows не работает. Когда я заменил переменную fileWatch определенным файлом (включая его каталог), служба windows запустилась. Когда я изменил его обратно в папку, это не сработало. Я думаю, что расположение папок не работает в filewatcher.
Если служба запускается и останавливается таким образом, это означает, что ваш код выдает необработанное исключение. Это довольно сложно отладить,но есть несколько вариантов.
- обратитесь к Windows Просмотр Событий. Обычно вы можете добраться до этого, перейдя в диспетчер компьютеров / серверов, а затем нажав Просмотр Событий ->Журналы Windows ->приложение. Вы можете увидеть, что бросило исключение здесь, которое может помочь, но вы не получите трассировку стека.
- извлеките логику программы в проект класса библиотеки. Теперь создайте две разные версии программы: консольное приложение (для отладки) и службу windows. (Это немного первоначальные усилия, но экономит много страха в долгосрочной перспективе.)
- добавьте больше блоков try / catch и войдите в приложение, чтобы получить лучшее представление о том, что происходит.
Не уверен, что это будет полезно, но для отладки службы вы всегда можете использовать следующее в методе OnStart:
чем вы могли бы подключить visual studio к процессу и иметь лучшие возможности отладки.
надеюсь, это было полезно, удачи!--2-->
YOUR_PROGRAM.cs
Читайте также: