В настоящее время мы сталкиваемся с некоторыми проблемами при попытке запустить службу в Windows, которая представляет собой исполняемый файл и результат процесса компиляции с использованием .NET framework для C++ (Windows\Microsoft.NET\Framework\v2.0.50727). Мы можем скомпилировать, запустить и выполнить ту же самую службу в нашей среде DEV, которая состоит из Windows 7, установленной в Virtual Box с VisualStudio2005 (это старое программное обеспечение, я знаю...).
Когда мы делаем это в нашей тестовой среде, мы получаем ошибку тайм-аута при попытке запустить службу (1053: служба не ответила на запрос запуска или управления своевременно). Сервер работает под управлением WindowsServer 2008 R2 Standard. Мы уже пытались изменить время ожидания, но безуспешно. Мы также скомпилировали исходный код с использованием того же программного обеспечения Visual Studio 2005, и хотя нам удалось его успешно скомпилировать, мы по-прежнему получаем то же сообщение об истечении времени ожидания.
В настоящее время мы пытаемся понять, что объективно вызывает различное поведение. Наиболее очевидная разница, естественно, заключается в версии для Windows, но, поскольку выходные данные компиляции выглядят идентичными и в процессе компиляции нет ошибок в обеих средах, а оба выходных журнала идентичны, у нас мало идей для выявления и проверки объективных различий. . Наш последний подход заключается в попытке понять, можем ли мы с помощью Dependency Walker (dependencywalker.com) определить какую-либо проблему, связанную с DLL (мы также проверили, есть ли в среде какие-либо поврежденные DLL или системные файлы, и нет ли их, используя для этого команду Windows). Мы также проверяем некоторые предложения, сделанные в следующем посте: Ошибка 1053, служба не ответила на запрос запуска или управления своевременно.
Кто-нибудь сталкивался с подобными проблемами? Если да, можете ли вы предложить какой-либо подход для определения причины, по которой служба не смотрит, кроме упомянутых здесь?
Заранее спасибо.
Привет, Ричард. Ничего не происходит... Он был разработан (давным-давно) для работы в качестве службы Windows. Это часть более крупного решения, состоящего из нескольких модулей, вывод одного будет вводом другого (он создает файлы с данными), и все они работают отдельно.
Мне просто интересно, отображается ли диалоговое окно «отсутствует dll» при запуске из командной строки. Очевидно, что это невозможно увидеть при запуске в качестве службы. Извините, я больше ничем не помог.
Добавьте некоторые базовые журналы в файл. Доходит ли дело до того, чтобы начать звонить в SCM? SCM перезванивает вам? Что-нибудь в вашем сервисе главное?
Привет, мы тоже это сделали, но журнал не велся. Тем временем мы увеличили время ожидания запуска службы в Windows до 10 минут с последующим необходимым перезапуском, и нам удалось запустить службу нормально и почти сразу. Хотя мы не смогли определить точную причину, мы по-прежнему склонны думать, что это проблема, связанная с Windows/Server. Спасибо всем за ваш вклад.





В итоге мы увеличили время ожидания для запуска службы в Windows до 10 минут с последующим необходимым перезапуском, и нам удалось запустить службу нормально и почти сразу, что заставляет нас думать, что время ожидания никогда не было здесь проблемой. Хотя мы не смогли определить точную причину, мы по-прежнему склонны думать, что это проблема, связанная с Windows/Server.
Можете ли вы запустить программу не как службу, а из командной строки и посмотреть, что произойдет?