Windows 1053 ошибка служба

Ошибка 1053: служба не ответила своевременно на запрос запуска или управления

Недавно я унаследовал пару приложений, которые работают как windows services, и у меня возникли проблемы с предоставлением графического интерфейса (доступного из контекстного меню в системном трее) для обоих из них.

Причина, по которой нам нужен графический интерфейс для службы windows, заключается в том, чтобы иметь возможность повторно настроить поведение службы(служб) windows, не прибегая к stopping/re-starting.

Мой код отлично работает в режиме отладки,и я получаю контекстное меню, и все ведет себя правильно и т. д.

Когда я устанавливаю службу через «installutil» с помощью именованной учетной записи (т. е. не локальной системной учетной записи), служба работает нормально, но не отображает значок в системном трее (я знаю, что это нормальное поведение, потому что у меня нет опции «interact with desktop»).

Однако вот в чем проблема — когда я выбираю опцию «LocalSystemAccount» и проверяю опцию «interact with desktop», служба запускает AGES без видимой причины, и я просто продолжаю получать

Не удалось запустить службу … на локальном компьютере. Ошибка 1053: служба не ответила своевременно на запрос запуска или управления.

Кстати, я увеличил тайм-аут службы windows с 30 секунд по умолчанию до 2 минут с помощью взлома реестра (см. http:/ / support.microsoft.com/kb/824344, поиск TimeoutPeriod в разделе 3), однако время запуска службы по-прежнему истекает.

Мой первый вопрос — почему вход в систему «Local System Account» может занять оооочень много времени, чем когда служба входит в систему с не-LocalSystemAccount, вызывая тайм-аут службы windows? какая может быть разница между этими двумя вещами, чтобы вызвать такое разное поведение при запуске?

Во — вторых — делая шаг назад, все, чего я пытаюсь добиться,-это просто сервис windows, который предоставляет графический интерфейс для настройки-я был бы вполне счастлив запустить его с помощью нелокальной системной учетной записи (с именем user/pwd),, если бы я мог заставить сервис взаимодействовать с рабочим столом (то есть иметь контекстное меню, доступное из системного трея). Возможно ли это, и если да, то как?

Любые указания на вышеперечисленные вопросы будут оценены по достоинству!

25 ответов

  • Cruise Control.Net ошибка сервера: ошибка 1053: служба не ответила своевременно на запрос запуска или управления

    В последнее время я не могу перезапустить свою службу сервера CruiseControl.NET. Однако консольная версия работает нормально. Я получаю ошибку ниже, когда запускаю службу: Не удалось запустить службу сервера CruiseControl.NET на локальном компьютере Ошибка 1053: служба не ответила своевременно на…

  • Служба установки не ответила на запрос запуска или управления своевременно ошибка при установке SQL Server 2016

    Как я могу устранить ошибку, полученную при установке Microsoft SQL Server 2016? TITLE: служба установки Microsoft SQL Server 2016 не ответила своевременно на запрос запуска или управления Произошла следующая ошибка: Служба не ответила своевременно на запрос запуска или управления. Нажмите кнопку…

После борьбы с этим сообщением в течение нескольких дней мой друг сказал мне, что вы MUST используете сборку выпуска. Когда я InstallUtil отладочной сборки, он дает это сообщение. Сборка выпуска начинается нормально.

Если вы продолжите пытаться заставить ваш сервис напрямую взаимодействовать с рабочим столом пользователя, вы проиграете: даже при самых благоприятных обстоятельствах (например, «до Vista») это чрезвычайно сложно.

Windows внутренне управляет несколькими оконными станциями, каждая из которых имеет свой собственный рабочий стол. Оконная станция, назначенная службам, работающим под данной учетной записью, полностью отличается от оконной станции вошедшего в систему интерактивного пользователя. Кросс-оконный доступ к станциям всегда вызывал неодобрение, поскольку это представляет угрозу безопасности, но в то время как предыдущие версии Windows допускали некоторые исключения, они были в основном устранены в Vista и более поздних операционных системах.

Наиболее вероятная причина, по которой ваша служба зависает при запуске, заключается в том, что она пытается взаимодействовать с несуществующим рабочим столом (или предполагает, что Explorer работает внутри сеанса системного пользователя, что также не так) или ждет ввода с невидимого рабочего стола.

Единственное надежное решение этих проблем — удалить весь код UI из вашей службы и переместить его в отдельный исполняемый файл, работающий внутри интерактивного сеанса пользователя (например, исполняемый файл можно запустить с помощью глобальной группы запуска).

Связь между вашим кодом UI и вашим сервисом может быть реализована с помощью любого механизма RPC: именованные каналы работают особенно хорошо для этой цели. Если ваши коммуникационные потребности минимальны,использование определяемых приложением команд диспетчера управления службами также может помочь.

Потребуется некоторое усилие, чтобы добиться такого разделения между UI и служебным кодом: однако это единственный способ заставить вещи работать надежно и хорошо служить вам в будущем.

ADDENDUM, апрель 2010 : поскольку этот вопрос остается довольно популярным, вот способ исправить еще один распространенный сценарий, который вызывает ошибки «service did not respond…», включая службы .NET, которые не пытаются делать какие-либо забавные вещи, такие как взаимодействие с рабочим столом, но используют подписанные сборки Authenticode: отключите проверку подписи Authenticode во время загрузки, чтобы создать доказательства издателя , добавив следующие элементы в ваш файл .exe.config:

Publisher evidence — это малоиспользуемая функция безопасности доступа к коду (CAS): только в том маловероятном случае, если ваш сервис действительно полагается на PublisherMembershipCondition, его отключение вызовет проблемы. Во всех остальных случаях это приведет к исчезновению постоянных или прерывистых сбоев запуска, поскольку больше не будет требовать от среды выполнения дорогостоящих проверок сертификатов (включая поиск в списке отзыва).

Я столкнулся с этой проблемой из-за отсутствия фреймворка на коробке, на которой работает мой сервис. На коробке было написано .NET 4.0, а сверху-.NET 4.5.

Я установил следующую загрузку на коробку, перезапустил ее, и служба заработала нормально: http://www.microsoft.com/en-us/download/details.aspx?id=30653

  • Ошибка 1053 служба не ответила своевременно на запрос запуска или управления

    Я пару раз создавал и устанавливал сервис. Изначально он работал нормально, но после некоторых изменений в коде службы он начал выдавать ошибку, когда я перезапускал службу в Services.msc : Ошибка 1053: служба не ответила своевременно на запрос запуска или управления Код: public partial class…

  • Служба не ответила на запрос запуска или управления своевременно, если используется Debug dll

    Я пытался развернуть службу windows на своей машине, но когда я пытался запустить ее, я получил следующую ошибку. Windows не удалось запустить ’myService’ на локальном компьютере. Ошибка 1053: служба не ответила своевременно на запрос запуска или управления. После небольшого исследования я…

Чтобы отладить запуск вашей службы, добавьте следующее В начало метода OnStart() вашей службы:

Это остановит работу службы до тех пор, пока вы вручную не присоедините отладчик Visual Studio с помощью Debug -> Attach to Process…

Примечание: В общем случае, если вам нужен пользователь для взаимодействия с вашим сервисом, лучше разделить компоненты GUI на отдельное приложение Windows, которое запускается при входе пользователя в систему. Затем вы используете что-то вроде именованных каналов или какую-то другую форму IPC для установления связи между приложением GUI и вашим сервисом. На самом деле это единственный способ, которым это возможно в Windows Vista.

В классе обслуживания в рамках метода OnStart не выполняйте огромную операцию, OS ожидайте короткого промежутка времени для запуска службы, Запустите свой метод с помощью thread start:

Я стреляю вслепую, но я очень часто обнаруживал, что длительные задержки в запусках служб прямо или косвенно вызваны тайм — аутами сетевых функций, часто при попытке связаться с контроллером домена при поиске учетной записи SIDs-что очень часто происходит косвенно через GetMachineAccountSid() , осознаете вы это или нет, поскольку эта функция вызывается подсистемой RPC.

Пример того, как отлаживать в таких ситуациях, см. В случае задержки запуска процесса в блоге Марка Руссиновича.

В моем случае проблема заключалась в отсутствии версии .net framework .

Моя служба используется

Но .net Framework версия сервера была 4, поэтому, изменив 4.5 на 4, проблема была исправлена:

Если вы используете отладочный код, как показано ниже, в вашем сервисе может возникнуть проблема.

Чтобы исправить это, пока вы создаете свой сервис windows, удалите условие #if, потому что оно не работает так, как есть.

Пожалуйста, используйте аргумент для режима отладки вместо этого, как показано ниже.

Я столкнулся с аналогичной проблемой с сервисом, который я писал. Он работал нормально, а потом однажды я начал получать тайм-аут при ошибках запуска. Это произошло в одном &/or как релизе, так и отладке в зависимости от того, что происходило. Я создал экземпляр EventLogger из System.Diagnostics, но любая ошибка, которую я видел, должна была произойти до того, как регистратор смог записать…

Если вы не знаете, где искать EventLogs, в VS вы можете перейти на свою машину под сервером Explorer. Я начал копаться в некоторых других EventLogs, кроме тех, что предназначены для моей службы. В разделе Application-.NETRuntime я нашел журналы ошибок, относящиеся к ошибке при запуске. В принципе, в конструкторе моего сервиса было несколько исключений (одно оказалось исключением в настройке экземпляра EventLog — что объясняло, почему я не мог видеть никаких журналов в моем сервисе EventLog). В предыдущей сборке, по-видимому, были и другие ошибки (которые заставили меня внести изменения, приведшие к ошибке в настройке EventLog).

Короче говоря, причина тайм-аута может быть связана с различными exceptions/errors,, но использование среды выполнения EventLogs может просто помочь вам понять, что происходит (особенно в тех случаях, когда одна сборка работает, а другая-нет).

Надеюсь, это поможет!

Скопируйте релиз DLL или получите dll из режима выпуска, а не из режима отладки, и вставьте его в папку установки, он должен работать

У меня была эта проблема, и она сводила меня с ума в течение двух дней… Если ваша проблема похожа на мою:

У меня есть настройки «User settings» в моем сервисе windows, так что сервис может выполнять самообслуживание, не останавливая и не запуская сервис. Ну а проблема заключается в «настройках пользователя», где конфигурационный файл для этих настроек сохраняется в папке под профилем пользователя пользователя, который запускает службу windows под версией файла service-exe.

Эта папка по какой-то причине была повреждена. Я удалил папку и служба снова начала работать счастливо как обычно…

Установите отладочную сборку службы и присоедините отладчик к службе, чтобы увидеть, что происходит.

У меня была такая проблема, на ее устранение ушло около суток. Для меня проблема заключалась в том, что мой код пропустил «main content» и эффективно пробежал пару строк, а затем закончил. И это вызвало ошибку для меня. Это консольное приложение C#, которое устанавливает службу Windows, и как только оно попытается запустить ее с помощью ServiceController (sc.Run()), оно выдаст мне эту ошибку.

После того, как я исправил код, чтобы перейти к основному контенту, он будет запускать предполагаемый код:

ServiceBase.Run(new ServiceHost());

Потом он перестал появляться.

Как уже говорили многие люди, ошибка может быть чем угодно, и решения, которые люди предлагают, могут решить ее, а могут и не решить. Если они не решают эту проблему (например, выпуск вместо отладки, добавление generatePublisherEvidence=false в вашу конфигурацию и т. д.), То есть вероятность, что проблема связана с вашим собственным кодом.

Попробуйте заставить ваш код работать без использования sc.Run() (то есть заставить код работать так, как должен был бы работать sc.Run()).

Эта проблема обычно возникает, когда на вашем assembly отсутствует какая-то ссылка, и обычно привязка завершается неудачей во время выполнения.

для отладки поместите Thread.Sleep(1000) в main() . и поставьте точку останова в следующей строке выполнения.

Затем запустите процесс и присоедините отладчик к процессу во время его запуска. Нажмите клавишу f5 после того, как она достигнет точки останова. Он выдаст исключение отсутствующего assembly или ссылки.

Надеюсь, это разрешит эту ошибку.

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

Добавление 127.0.0.1 crl.microsoft.com в файл «Hosts» решило нашу проблему.

enter image description here

У меня ушло несколько часов, надо было посмотреть программу просмотра событий get_AppSettings() .

Изменение конфигурации приложения вызвало эту проблему.

Моя проблема была связана с целевой платформой, упомянутой в windows service config.

и мой сервер, на котором я пытался установить службу windows, не поддерживался для этой версии .Net.

Изменив его, я смог бы решить эту проблему.

В моем случае у меня была эта проблема из-за подлинной ошибки. Перед вызовом конструктора службы произошел сбой одного статического конструктора переменной-члена:

Добавив блок try-catch, я обнаружил, что исключение происходит из-за неправильной версии oracle. Установка правильной базы данных решила эту проблему.

И локальная системная учетная запись, и локальная служба не будут работать для меня, затем я установил ее на сетевую службу, и это сработало нормально.

У меня тоже была эта проблема. Я сделал это, изменив учетную запись входа в систему на локальную системную учетную запись. В моем проекте он был настроен для запуска в качестве локальной учетной записи службы. Поэтому, когда я установил его, по умолчанию он использовал локальную службу. Я использую .net 2.0 и VS 2005. Так что установка .net 1.1 SP1 не помогла бы.

Я также столкнулся с аналогичной проблемой и обнаружил, что существует проблема загрузки assembly. Я получал эту ошибку сразу же при попытке запустить службу.

Чтобы быстро отладить проблему, попробуйте запустить исполняемый файл службы через командную строку с помощью ProcDump http://technet.microsoft.com/en-us/ sysinternals/dd996900 . Это должно дать достаточный намек на точную ошибку.

http://bytes.com/topic/net/answers/637227-1053-error-trying-start-my-net-windows-service мне помогли совсем немного.

откройте окно служб от имени администратора, а затем попробуйте запустить service.That worked for me.

  1. Сборка проекта в режиме выпуска.
  2. Скопируйте все файлы папки выпуска в исходный путь.
  3. Выполните службу окон с помощью окна командной строки в административном доступе.
  4. Никогда не удаляйте файлы из исходного пути.

По крайней мере, это работает на меня.

Похожие вопросы:

Я установил SlikSVN и пытаюсь настроить svnserve. SlikSvn установлен в C:\Program Files\SlikSvn, а C:\Program Files\SlikSvn\bin находится в пути. Запись реестра для этой службы в настоящее время…

Я создал сервис в win32, c++ . Я могу создать сервис, но когда я пытаюсь запустить его, он выдает следующую ошибку. [SC] StartService FAILED 1053: Служба не ответила своевременно на запрос запуска…

У меня есть исполняемый файл, который я хотел бы настроить для запуска в качестве службы. Используя инструмент sc.exe, предоставленный windows (см. статью KB здесь:…

В последнее время я не могу перезапустить свою службу сервера CruiseControl.NET. Однако консольная версия работает нормально. Я получаю ошибку ниже, когда запускаю службу: Не удалось запустить…

Как я могу устранить ошибку, полученную при установке Microsoft SQL Server 2016? TITLE: служба установки Microsoft SQL Server 2016 не ответила своевременно на запрос запуска или управления Произошла…

Я пару раз создавал и устанавливал сервис. Изначально он работал нормально, но после некоторых изменений в коде службы он начал выдавать ошибку, когда я перезапускал службу в Services.msc : Ошибка…

Я пытался развернуть службу windows на своей машине, но когда я пытался запустить ее, я получил следующую ошибку. Windows не удалось запустить ’myService’ на локальном компьютере. Ошибка 1053:…

Когда я пытаюсь подключить сервис mongdb я получаю ошибку: ** Windows не удалось запустить службу MongoDB на локальном компьютере ** Error1053: служба не ответила своевременно на запрос запуска или…

при создании службы windows, которая запускает любой файл cmd, а затем пытается запустить службу, появляется следующая ошибка. «ошибка 1053: служба не ответила на запрос запуска или управления…

[SC] StartService FAILED 1053: Служба не ответила своевременно на запрос о запуске или контроле . Я пробовал решение, упомянутое в различных дискуссиях, например, добавление servicesPipeTimeout с…

Понравилась статья? Поделиться с друзьями:
ErrorWin
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: