Ошибка 1053: служба не ответила на запрос запуска или управления своевременно - PullRequest
59 голосов
/ 01 октября 2008

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

Причина, по которой нам нужен графический интерфейс для службы Windows, заключается в том, чтобы иметь возможность переконфигурировать поведение служб Windows без необходимости остановки / повторного запуска.

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

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

В этом и заключается проблема - когда я выбираю опцию «LocalSystemAccount» и проверяю опцию «взаимодействовать с рабочим столом», служба запускает AGES без видимой причины, и я просто продолжаю получать

Не удалось запустить службу ... на локальном компьютере.

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

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

Мой первый вопрос: почему регистрация «Локальная системная учетная запись» занимает на SOOOOO НАМНОГО БОЛЬШЕ, чем когда служба входит в систему не-LocalSystemAccount, вызывая тайм-аут службы Windows? в чем может быть разница между этими двумя, чтобы вызвать такое разное поведение при запуске?

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

Будем благодарны за любые указатели на вышеуказанные вопросы!

Ответы [ 31 ]

0 голосов
/ 25 августа 2016
  1. Сборка проекта в режиме релиза.
  2. Скопируйте все файлы папки Release в исходный путь.
  3. Запуск службы Windows с использованием окна командной строки в административном доступе.
  4. Никогда не удаляйте файлы из исходного пути.

В аренде это работает для меня.

0 голосов
/ 22 августа 2016

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

0 голосов
/ 28 сентября 2012

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

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

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

0 голосов
/ 04 апреля 2016

Если у вас есть форма Windows, используемая для тестирования, убедитесь, что объект запуска по-прежнему является службой, а не формой Windows

0 голосов
/ 23 марта 2016

Это сработало для меня. В основном убедитесь, что для входа в систему выбран правильный пользователь. Однако это зависит от того, как настроена инфраструктура учетной записи. В моем примере используются учетные данные пользователя AD.

В поисковой строке меню поиска выберите «Услуги». -В Сервисах найти нужный сервис - щелкните правой кнопкой мыши и выберите вкладку «Вход в систему». -Выберите «Эта учетная запись» и введите необходимый контент / учетные данные -Хорошо и запустите службу как обычно

enter image description here

0 голосов
/ 03 марта 2009

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

0 голосов
/ 20 июля 2009

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

0 голосов
/ 21 февраля 2011

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

    private static OracleCommand cmd;

    static SchedTasks()
    {
        try
        {
            cmd = new OracleCommand("select * from change_notification");
        }
        catch (Exception e)
        {
            Log(e.Message); 
            // "The provider is not compatible with the version of Oracle client"
        }
    }

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

0 голосов
/ 02 августа 2018

В моем случае это было разрешение для пользователя учетной записи в AD. После правильной установки, он отлично работает.

0 голосов
/ 03 апреля 2019

У меня была такая же проблема, Остановки я следовал

  1. Поместите Debugger.Launch () в конструктор службы Windows
  2. Шаг за шагом следуйте, чтобы увидеть, где он застрял

Моя проблема не связана с ошибкой. У меня был BlockingCollection.GetConsumingEnumerable () в пути. Это заставило службу Windows ждать.

...