Я работал над приложением, использующим .NET 4 и c # в Visual Studio 2010 Express. Его цель - просмотреть каталог и импортировать любые найденные документы в нашу систему обработки изображений.
Я включил класс установщика, который предоставляет информацию, необходимую для installutil.exe.
Итак, чтобы установить локально, я строю решение, а затем в командной строке:
installutil.exe MyProjectExecutable.exe
Который устанавливает его как сервис. Это отлично работает в моей среде разработки.
Для развертывания в тестовой среде я использую тот же метод:
installutil.exe MyProjectExecutable.exe.deploy
За исключением, конечно, исполняемого файла имеет второе расширение .deploy. Это способ публикации приложения в Visual Studio. Все работает до его пункта
Вот проблема: как только я это сделаю, я запускаю службу, и она запускается правильно, как указано в файле журнала. Тем не менее, как только он обнаружит файлы в каталоге, служба не будет ничего с ними делать и в конечном итоге произойдет сбой. Единственный способ узнать, что он разбился - это посмотреть в окне просмотра событий Windows. Появится сообщение:
"Произошло необработанное исключение win32 в MyProjectExecutable.exe.deploy [4108]. Сбой отладки Just-In-Time это исключение со следующей ошибкой: Не удалось запустить отладчик, поскольку ни один пользователь не вошел в систему."
Два вопроса:
1) Что может быть причиной
2) Прохожу ли я правильные шаги для установки службы Windows, или есть лучший способ?
В обеих средах установлен .NET 4.
В обеих средах я помещаю одни и те же документы в каталог импорта.
В обеих средах служба работает под учетной записью локальной системы.
Если мой вопрос отражает недостаток опыта C #, заранее извиняюсь.