Ошибка 1053 виндовс

If you continue down the road of trying to make your service interact with the user’s desktop directly, you’ll lose: even under the best of circumstances (i.e. «before Vista»), this is extremely tricky.

Windows internally manages several window stations, each with their own desktop. The window station assigned to services running under a given account is completely different from the window station of the logged-on interactive user. Cross-window station access has always been frowned upon, as it’s a security risk, but whereas previous Windows versions allowed some exceptions, these have been mostly eliminated in Vista and later operating systems.

The most likely reason your service is hanging on startup, is because it’s trying to interact with a nonexistent desktop (or assumes Explorer is running inside the system user session, which also isn’t the case), or waiting for input from an invisible desktop.

The only reliable fix for these issues is to eliminate all UI code from your service, and move it to a separate executable that runs inside the interactive user session (the executable can be started using the global Startup group, for example).

Communication between your UI code and your service can be implemented using any RPC mechanism: Named Pipes work particularly well for this purpose. If your communications needs are minimal, using application-defined Service Control Manager commands might also do the trick.

It will take some effort to achieve this separation between UI and service code: however, it’s the only way to make things work reliably, and will serve you well in the future.

ADDENDUM, April 2010: Since this question remains pretty popular, here’s a way to fix another common scenario that causes «service did not respond…» errors, involving .NET services that don’t attempt any funny stuff like interacting with the desktop, but do use Authenticode signed assemblies: disable the verification of the Authenticode signature at load time in order to create Publisher evidence, by adding the following elements to your .exe.config file:

<configuration>
    <runtime>
        <generatePublisherEvidence enabled="false"/>
    </runtime>
</configuration>

Publisher evidence is a little-used Code Access Security (CAS) feature: only in the unlikely event that your service actually relies on the PublisherMembershipCondition will disabling it cause issues. In all other cases, it will make the permanent or intermittent startup failures go away, by no longer requiring the runtime to do expensive certificate checks (including revocation list lookups).

Как исправить ошибку 1053 Служба не ответила на запрос своевременноПри входе в Windows 10 и Windows 11, а иногда — при работе в системе или запуске программ вы можете столкнуться с сообщением об ошибке: «Не удалось запустить службу. Ошибка 1053: Служба не ответила на запрос своевременно». В некоторых случаях в сообщении фигурирует название службы. Иногда — нет.

В этой инструкции подробно о том, чем бывает вызвана ошибка и как исправить ошибку 1053 «Служба не ответила на запрос своевременно».

Причины и основные способы исправить ошибку 1053 «Служба не ответила на запрос своевременно»

Сообщение об ошибке 1053 Как исправить ошибку 1053 Служба не ответила на запрос своевременно

При запуске Windows 10 или Windows 11, входе в систему, некоторых действиях в системе, а иногда — при запуске сторонних программ может производиться запуск необходимых служб. При этом ОС ждёт их запуска определенное время и, если в течение этого времени сообщение об успешном запуске не было получено, вы видите ошибку 1053 «Служба не ответила на запрос своевременно».

Основные способы исправить ошибку:

  • Изменить (увеличить) время ожидания запуска службы
  • Отключить запуск службы, если она не является обязательной

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

  1. Нажмите правой кнопкой мыши по кнопке «Пуск», выберите пункт «Выполнить», введите regedit и нажмите Enter — запустится редактор реестра.
  2. Перейдите в раздел реестра
    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control
  3. Нажмите правой кнопкой мыши в пустом месте правой панели реестра и создайте новый параметр DWORD, задайте имя ServicesPipeTimeout для него.
  4. Дважды нажмите по вновь созданному параметру, переключите систему счисления в десятичный вид и укажите значение времени ожидания. 60000 будет соответствовать одной минуте (60 секунд), можно выставить и более высокое значение, например — 180000. Изменение времени ожидания запуска службы в Windows
  5. Нажмите «Ок», закройте редактор реестра, перезагрузите компьютер и проверьте, появляется ли ошибка вновь.

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

  1. Нажмите клавиши Win+R на клавиатуре, введите services.msc и нажмите Enter (подробнее — Способы открыть службы Windows).
  2. В списке служб найдите нужную службу и дважды нажмите по ней.
  3. В поле «Тип запуска» установите «Отключена», нажмите «Ок». Отключение службы в Windows
  4. Закройте окно служб и перезагрузите компьютер.

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

Дополнительные способы решения проблемы

Если предыдущие простые варианты не помогли, можно попробовать следующие подходы:

  • Если служба относится к какой-то сторонней программе, а отключение службы мешает её запуску, можно попробовать выполнить переустановку программы.
  • Если вы меняли права доступа к папкам на компьютере, это также может привести к ошибке. Среди примеров — службы Autodesk. Если к папкам с файлами службы нет доступа для «Пользователи» и «Локальная служба», можно получить ошибку 1053.
  • Если ошибка стала появляться после того, как вы изменили параметры запуска каких-либо системных служб Windows, попробуйте восстановить исходные параметры. Подробнее: Службы по умолчанию в Windows 10
  • В случае, если неизвестна служба, вызывающая проблему, использовать чистую загрузку Windows, чтобы её определить, затем попробовать вариант с её отключением.
  • Если проблема стала появляться недавно, использовать точки восстановления системы на дату, когда ошибки не было. Об этом в статьях: Точки восстановления системы Windows 11, Точки восстановления системы Windows 10.
  • В некоторых случаях запуску служб (или получению сообщений об успешном запуске) может мешать повреждение системных файлов Windows. Попробуйте выполнить их восстановление: Восстановление целостности системных файлов Windows 11, Восстановление системных файлов Windows 10.

В случае, если проблема не была решена, опишите ситуацию в комментариях, с указанием имени службы и в каких случаях появляется ошибка. Я буду рад помочь.

Ошибка 1053 «Служба не ответила на запрос своевременно» возникает в ряде ситуаций:

  • при изначальном запуске компьютера;
  • при запуске некоторых приложений;
  • в случайные моменты во время работы системы.

Полное сообщение ошибки говорит пользователю следующее:

Не удалось запустить службу [НАЗВАНИЕ СЛУЖБЫ] на Локальный компьютер.

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

Проблема свойственна Windows 10 и Windows 11, однако появление ошибки возможно и на более ранних версиях ОС Майкрософт.

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

Почему служба не ответила на запрос?

ошибка 1053

На запуск тех или иных служб выделяется определенное количество времени. Если по истечению этого времени служба запущена не была, пользователю демонстрируется соответствующее сообщение, а в нашем случае — это ошибка 1053 «Служба не ответила на запрос своевременно». Проще говоря, проблема и не проблема вовсе, всего лишь небольшая заминка в работе системы.

Как избавиться от ошибки 1053?

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

  • нажмите WIN+R для вызова диалогового окошка «Выполнить»;
  • пропишите в пустой строке regedit и нажмите ENTER;
  • через адресную строку редактора перейдите в ветку HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control;
  • создайте в разделе «Control» новый DWORD-параметр с названием ServicesPipeTimeout и значением в 120000 (2 минуты);
  • закройте все открытые окошки и перезагрузите ПК.

Второе решение — это отключение службы, с которой возникает ошибка 1053. Делать так стоит только в том случае, если это несистемная служба. Если попытаться деактивировать системную службу, вы практически наверняка наживете себе кучу всевозможных проблем.

  • Нажмите WIN+R для вызова окошка «Выполнить»;
  • пропишите в пустой строке services.msc и нажмите ENTER;
  • найдите в списке службу, которая указывается в ошибке 1053, и дважды кликните на нее ЛКМ (откроется окошко свойств);
  • в ниспадающем меню типа запуска установите значение «Отключена»;
  • сохраните внесенные изменения и закройте все окошки;
  • перезагрузите ПК.

Небольшая корректировка реестра и отключение «вредной» службы — ничего другого не нужно, как правило.

Что делать, если ошибка 1053 не была решена?

К сожалению, в некоторых случаях вышеуказанные действия не помогают в решении ошибки 1053. Что же делать? Ну, есть еще несколько вещей, которые вы можете попробовать у себя на компьютере:

  • полностью переустановите программу, к которой относится проблемная служба;
  • убедитесь, что у папки, где располагается служба, имеются права доступа в разделах «Пользователи» и «Локальная служба»;
  • выполните чистую загрузку системы, чтобы определить проблемный элемент в системе;
  • выполните в PowerShell либо командной строке (WIN+X) команду sfc /scannow для поиска поврежденных системных файлов и их восстановления;
  • воспользуйтесь точкой восстановления, чтобы вернуть систему в более стабильное состояние, когда ошибки 1053 не существовало.

Разумеется, 100% решение — это возвращение ПК в исходное состояние, т.е. переустановка Windows 10 и Windows 11 с сохранением личных данных. До такого редко доходит, но в сети можно найти случаи.

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

Одна из главных причин возникновения ошибки — слишком долгое ожидание от службы. Служба может быть вообще любой. Многие из них устанавливаются в систему вместе с какой-нибудь программой или игрой. Если на обработку запросов той или иной службы уходит слишком много времени, ОС отзывается ошибкой и прекращает попытки взаимодействовать с «повисшим» компонентом.

Есть несколько несложных способов исправить эту проблему.

Увеличиваем время на обработку запросов от служб

Раз уж ОС не может дождаться ответа от службы, то можно увеличить время ожидания. Это довольно редко помогает, но попробовать стоит.

Итак, делаем следующее:

  • Нажимаем на клавиши Win + R.
  • В программу «Выполнить» вводим текст regedit и кликаем по кнопке ОК.

Приложение «Выполнить»

Открываем редактор реестра

  • Откроется редактор реестра Windows. Внутри заходим в папку _HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control_

Редактор реестра Windows

Вот и нужная папка

  • Внутри кликаем по пустому пространству правой кнопкой мыши.
  • Во всплывшем контекстном меню выбираем опцию «Создать параметр DWORD (32 бита)».

Контекстное меню создания ключей и параметров в реестре

Ничего не перепутайте

  • Называем его ServicesPipeTimeout.

Список ключей в реестре

Здесь тоже будьте предельно внимательны

  • Затем кликаем по созданному ключу два раза.
  • В появившемся окошке меняем значение на 15000 и сохраняем.

Изменение параметров в реестре

Это значение можно увеличить еще, но это нецелесообразно

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

Загрузка ... Загрузка …

Сбрасываем кэш сети

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

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

Чтобы сбросить кэш сети:

  • Открываем встроенный поисковик Windows, кликнув по иконке в виде лупы справа от меню «Пуск».

Встроенный поисковик Windows

Возможно, потребуется пароль администратора

  • Ищем там приложение cmd.exe и запускаем его от имени администратора.
  • В открывшийся терминал вводим команду netsh winsock reset и нажимаем Enter.
  • Потом команду ipconfig /renew.
  • После этого перезапускаем компьютер.

Загрузка ... Загрузка …

Другие методы

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

  1. Универсальный способ решения всех проблем — команда sfc/ scnanow. Она вводится в терминал так же, как и две предыдущие (описанные в предыдущем параграфе). Не самый эффективный способ конкретно в этом случае.
  2. Полностью удаляем игру или программу, которые выдают ошибку. Многим этот способ покажется радикальным, но зачастую он работает. Как известно, большая часть ошибок закрадывается на этапе установки программного обеспечения.
  3. Переустановка Windows. Самый действенный метод решения всех программных проблем. Свежая операционная система в 99% случаев избавляет от всех неисправностей.

Загрузка ... Загрузка …

Post Views: 6 498

From MSDN:

Do not use the constructor to perform processing that should be in
OnStart. Use OnStart to handle all initialization of your service. The
constructor is called when the application’s executable runs, not when
the service runs. The executable runs before OnStart. When you
continue, for example, the constructor is not called again because the
SCM already holds the object in memory. If OnStop releases resources
allocated in the constructor rather than in OnStart, the needed
resources would not be created again the second time the service is
called.

If your timer is not initialized in the OnStart call, this could be a problem.
I would also check the type of timer, make sure its a System.Timers.Timer for Services. Here is an example of how to setup the timer in a Windows service.

//TODONT: Use a Windows Service just to run a scheduled process

I tried your code, and it seems ok. The only difference I had was to hard code the timer value (Service1.cs). Let me know if the below doesn’t work.

Service1.cs

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Diagnostics;
using System.ServiceProcess;
using System.Text;
using System.Timers;
using System.Threading;

namespace WindowsServiceTest
{
    public partial class Service1 : ServiceBase
    {
        private System.Timers.Timer timer;

        public Service1()
        {
            InitializeComponent();
        }

        protected override void OnStart(string[] args)
        {
            //instantiate timer
            Thread t = new Thread(new ThreadStart(this.InitTimer)); 
            t.Start();
        }

        protected override void OnStop()
        {
            timer.Enabled = false;
        }

         private void InitTimer()  
         {     
             timer = new System.Timers.Timer();  
             //wire up the timer event 
             timer.Elapsed += new ElapsedEventHandler(timer_Elapsed); 
             //set timer interval   
             //var timeInSeconds = Convert.ToInt32(ConfigurationManager.AppSettings["TimerIntervalInSeconds"]); 
             double timeInSeconds = 3.0;
             timer.Interval = (timeInSeconds * 1000); 
             // timer.Interval is in milliseconds, so times above by 1000 
             timer.Enabled = true;  
         }

        protected void timer_Elapsed(object sender, ElapsedEventArgs e) 
        {
            int timer_fired = 0;
        }
    }
}

Service1.Designer.cs

namespace WindowsServiceTest
{
    partial class Service1
    {
        /// <summary> 
        /// Required designer variable.
        /// </summary>
        private System.ComponentModel.IContainer components = null;

        /// <summary>
        /// Clean up any resources being used.
        /// </summary>
        /// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
        protected override void Dispose(bool disposing)
        {
            if (disposing && (components != null))
            {
                components.Dispose();
            }
            base.Dispose(disposing);
        }

        #region Component Designer generated code

        /// <summary> 
        /// Required method for Designer support - do not modify 
        /// the contents of this method with the code editor.
        /// </summary>
        private void InitializeComponent()
        {
            components = new System.ComponentModel.Container();
            this.ServiceName = "Service1";
            this.CanPauseAndContinue = true;
        }

        #endregion
    }
}

I just created a blank Windows Service project and add the below so I could run installutil.exe and attach to the above to see if the event was firing (and it did).

using System;
using System.Collections.Generic;
using System.Text;
using System.ComponentModel;
using System.ServiceProcess;

namespace WindowsServiceTest
{
    [RunInstaller(true)]
    public class MyServiceInstaller : System.Configuration.Install.Installer
    {
        public MyServiceInstaller()
        {
            ServiceProcessInstaller process = new ServiceProcessInstaller();

            process.Account = ServiceAccount.LocalSystem;

            ServiceInstaller serviceAdmin = new ServiceInstaller();

            serviceAdmin.StartType = ServiceStartMode.Manual;
            serviceAdmin.ServiceName = "Service1";
            serviceAdmin.DisplayName = "Service1 Display Name";
            Installers.Add(process);
            Installers.Add(serviceAdmin);
        }
    }
}

Понравилась статья? Поделить с друзьями:
  • Ошибка 1054 мерседес w220
  • Ошибка 1054 sql
  • Ошибка 1054 mysql как исправить
  • Ошибка 1054 mysql workbench
  • Ошибка 105 при подключении к интернету через wifi