Пользователи получают сообщение об ошибке 1053, в котором говорится: «Служба не ответила на запрос запуска или управления своевременно». Это сообщение об ошибке является причиной тайм-аута, возникающего после того, как был инициирован запрос на запуск службы, но он не ответил во временном окне.
Существует множество вариантов сообщения об ошибке, начиная от проблем со службами Windows и заканчивая невозможностью запуска пользовательских служб (включая игры и другое стороннее программное обеспечение). Мы также встречали случаи, когда разработчики сталкивались с этой проблемой при разработке своего программного обеспечения. В этой статье мы рассмотрим все варианты сообщения об ошибке и обсудим, что можно сделать, чтобы решить проблему раз и навсегда.
Что вызывает ошибку 1053 в Windows?
Получив первоначальные отчеты от пользователей, мы начали расследование и внимательно изучили все модули, задействованные в механизме запуска как службы. После сбора всех результатов и их синхронизации с ответами пользователей мы пришли к выводу, что проблема возникла по нескольким причинам. Некоторые из них перечислены ниже:
- Параметры тайм-аута : Windows по умолчанию имеет параметр тайм-аута, который, если приложения не соблюдаются, заставляет их прервать работу и закрыть. Если служба, которую вы пытаетесь запустить, требует гораздо больше времени для ответа, она будет отключена. Здесь мы можем изменить настройку тайм-аута, манипулируя реестром.
- Отсутствующий файл DLL: Другой случай ошибки возникает, когда на вашем компьютере отсутствует файл DLL, который также используется многими другими приложениями. Если этот файл DLL конфликтует или отсутствует, вы получите сообщение об ошибке.
- Поврежденные / отсутствующие системные файлы. Еще одна причина возникновения этой проблемы - наличие поврежденных или отсутствующих системных файлов на вашем компьютере. Если сама установка Windows не является правильной и имеет проблемы, вы столкнетесь с многочисленными проблемами, включая обсуждаемое сообщение об ошибке.
- Устаревшая Windows: Microsoft официально распознала это сообщение об ошибке на своем официальном сайте и даже выпустила временное исправление для решения проблемы. Однако недавно они удалили исправление и проинструктировали пользователей о необходимости обновления до последней версии Windows.
- Использование сборки выпуска (для разработчиков): если вы пытаетесь запустить службы в сборке отладки Windows, вы, вероятно, получите это сообщение об ошибке. Сборки отладки нестабильны и не имеют всех функциональных возможностей по сравнению с сборками выпуска.
- Отсутствующие фреймворки (для разработчиков): несовместимость фреймворков также вызывает сообщение об ошибке. Блок, на котором вы пытаетесь запустить службу, и сама служба должны находиться в одной среде.
- Проблема в службе БД (для разработчиков): это сообщение об ошибке может появиться в другом случае, когда есть проблема с конфигурацией проекта. Сведения о сервере должны быть исправлены, чтобы у службы не было проблем с доступом.
- Поврежденная установка: еще один частый случай, когда вы можете столкнуться с этим сообщением об ошибке, - это когда установка вашего приложения (которое запрашивает службу) несколько повреждена. Здесь помогает переустановка.
- Плохая конфигурация сети: службы постоянно обмениваются данными с вашей сетью. Если ваши сетевые конфигурации не подходят, службы могут не выполнять свои задачи и, следовательно, вызывать обсуждаемое сообщение об ошибке.
- Доступ администратора: службу, которую вы пытаетесь запустить (или пытается запустить третья сторона), следует запускать от имени администратора, если она потребляет системные ресурсы, не предназначенные для нормального использования.
Прежде чем мы перейдем к решениям, убедитесь, что вы вошли в систему как администратор на своем компьютере и имеете активное подключение к Интернету. Кроме того, следуйте решению с самого начала и соответственно продвигайтесь вниз.
Решение 1. Изменение настроек тайм-аута через реестр
Самое первое, что мы должны попробовать, - это изменить настройки тайм-аута ваших служб с помощью редактора реестра. Всякий раз, когда запрашивается запуск службы, запускается таймер с предопределенным значением. Если служба не запускается в течение этого периода времени, появляется сообщение об ошибке. В этом решении мы перейдем к реестру вашего компьютера и изменим значение. Если его нет, мы создадим для него новый ключ.
- Нажмите Windows + R, введите « regedit » в диалоговом окне и нажмите Enter.
- В редакторе реестра перейдите по следующему пути к файлу:
HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Control \
- Теперь найдите ключ ServicesPipeTimeout. Если вы найдете его там, вы можете перейти к непосредственному редактированию. Однако, если вы не найдете запись, выберите « Управление» , щелкните правой кнопкой мыши любое место в правой части экрана и выберите « Создать»> «DWORD».
- Назовите ключ « ServicesPipeTimeout » и установите значение 180000 (вы также можете щелкнуть значение правой кнопкой мыши и выбрать « Изменить», если параметр для установки значения не подходит в вашем случае.
- Сохранить изменения и выйти. Полностью перезагрузите компьютер и попробуйте запустить службу. Проверьте, решена ли проблема.
Решение 2.Проверка системных файлов на наличие повреждений
Еще одна вещь, которую следует попробовать, прежде чем мы перейдем к более техническим и продвинутым методам, - это проверить, есть ли в системе какие-либо повреждения. Если в самой Windows отсутствуют файлы и она каким-то образом повреждена, это может привести к тому, что некоторые важные модули не будут работать. В результате вы получите сообщение об ошибке 1053. В этом решении мы будем использовать средство проверки системных файлов Windows, которое проверяет всю структуру файлов вашей системы и сравнивает ее со структурой новой копии, представленной в Интернете. В случае несоответствия файлы будут заменены соответствующим образом.
- Нажмите Windows + S, введите «командная строка» в диалоговом окне, щелкните приложение правой кнопкой мыши и выберите « Запуск от имени администратора» .
- В командной строке с повышенными привилегиями выполните одну за другой следующие команды и убедитесь, что они выполнены:
sfc / scannow DISM / Online / Cleanup-Image / RestoreHealth
- Последняя команда устраняет любые проблемы, которые программа проверки системных файлов диагностирует при запуске сканирования. После выполнения команд полностью перезагрузите компьютер и проверьте, решена ли проблема навсегда.
Решение 3. Повторная установка приложения (если применимо)
Еще один полезный метод устранения сообщения об ошибке 1053 - переустановка приложения, запрашивающего службу. Обычно сторонние приложения, установленные из внешнего источника (кроме Microsoft Store), могут иметь отсутствующие или устаревшие компоненты, которые запрашивают некоторые службы в Windows.
Здесь вы можете перейти на официальный сайт и загрузить свежую версию приложения. После удаления текущей версии вы можете ее установить. Вот метод, как удалить приложение в Windows.
- Нажмите Windows + R, введите « appwiz.cpl » в диалоговом окне и нажмите Enter.
- В диспетчере приложений найдите приложение, щелкните его правой кнопкой мыши и выберите « Удалить» .
- Перезагрузите компьютер и продолжите процесс переустановки.
Решение 4. Сброс сетевого кеша и конфигураций
Если вы используете службу, которая подключается к Интернету и выполняет там некоторую работу, рекомендуется проверить, все ли ваши сокеты и другие сетевые конфигурации исправны и не вызывают каких-либо проблем. В противном случае ваша служба не сможет подключиться к Интернету для выполнения своих задач и, следовательно, вызовет трудности.
В этом решении мы перейдем в командную строку в качестве администратора и сбросим настройки сети оттуда. В случае успеха сообщение об ошибке исчезнет.
Примечание. При этом будут удалены все пользовательские настройки, которые вы установили вручную.
- Нажмите Windows + R, введите « командная строка » в диалоговом окне, щелкните приложение правой кнопкой мыши и выберите « Запуск от имени администратора ».
- В командной строке с повышенными привилегиями выполните одну за другой следующие команды:
netsh winsock сбросить ipconfig / обновить
- После сброса настроек сети убедитесь, что у вас есть доступ в Интернет, проверив в браузере и посмотрите, решена ли проблема.
Решение 5. Получение права собственности на приложение
Другой редкий случай, с которым мы столкнулись, заключался в том, что отсутствие права собственности на приложение приводило к тому, что приложение не выполняло службу должным образом. Это имеет смысл, так как если у приложения недостаточно повышенного доступа, оно не сможет отправлять / читать ответ в / из службы (особенно, если это системная служба). В этой статье мы перейдем к исполняемому файлу приложения, а затем изменим владельца на наше имя пользователя. В случае успеха это решит проблему получения ошибки 1053.
- Найдите файл / папку приложения. Щелкните правой кнопкой мыши и выберите Свойства .
- Перейдите на вкладку «Безопасность» и нажмите « Дополнительно » в нижней части экрана, как вы можете видеть на изображении ниже.
- Щелкните кнопку « Изменить » на предыдущем экране. Он будет прямо напротив стоимости владельца. Здесь мы изменим владельца этой папки со значения по умолчанию на учетную запись вашего компьютера.
- Теперь введите имя своей учетной записи в поле и нажмите « Проверить имена» . Windows автоматически перечислит все учетные записи, которые попали под это имя.
Если вы не можете найти имя своей учетной записи с помощью этого метода, вы можете попробовать выбрать его вручную из списка доступных групп пользователей. Щелкните «Дополнительно», а когда откроется новое окно, щелкните «Найти сейчас». Список будет заполнен внизу экрана, состоящий из всех групп пользователей на вашем компьютере. Выберите свою учетную запись и нажмите «ОК». Когда вы вернетесь в меньшее окно, снова нажмите «ОК».
- Теперь отметьте строку « Заменить владельца субконтейнеров и объектов ». Это гарантирует, что все папки / файлы в папке также перейдут в собственность. Таким образом, вам не придется снова и снова выполнять все процессы для любых имеющихся подкаталогов. В дополнение к этому, мы также рекомендуем вам включить опцию « Заменить все записи разрешений дочернего объекта наследуемыми записями разрешений от этого объекта ».
- Теперь закройте окно «Свойства» после нажатия « Применить » и откройте его снова. Перейдите на вкладку безопасности и нажмите « Дополнительно ».
- В окне разрешений нажмите « Добавить » в нижней части экрана.
- Щелкните « Выбрать принцип ». Появится аналогичное окно, как на шаге 4. Повторите шаг 4, когда оно появится. Теперь проверьте все разрешения (предоставляя полный контроль) и нажмите « ОК ».
- Отметьте строку « Заменить все записи разрешений дочернего объекта наследуемыми записями разрешений от этого объекта » и нажмите Применить.
- Закройте файлы и полностью перезагрузите компьютер. Теперь попробуйте запустить приложение и проверьте, решена ли проблема навсегда.
Решение 6. Обновление Windows до последней сборки
Еще одна вещь, которую следует попробовать, - это проверить, установлена ли на вашем компьютере обновленная версия Windows или нет. Корпорация Майкрософт выпускает обновления, предназначенные для новых изменений в ОС, а также для поддержки дополнительных функций. Некоторые обновления являются «критическими» по своему характеру и должны быть установлены как можно скорее. Если какое-либо из этих «критических» обновлений не установлено, у вас возникнут проблемы.
- Нажмите Windows + S, чтобы открыть панель поиска, напишите « Обновление» в диалоговом окне и откройте настройки обновления.
- В настройках обновления нажмите Проверить наличие обновлений . Теперь компьютер подключится к серверам Microsoft и проверит наличие обновлений. Если какие-либо обновления уже выделены, выполните их немедленно.
Бонус: советы разработчикам
Если вы разработчик и пытаетесь запустить службу в Windows, есть сотни технических деталей, которые вы должны выполнить аккуратно, чтобы создать и получить ответ от службы. В этом бонусном решении мы перечислим некоторые из самых популярных причин ошибки 1053 в развивающихся странах и способы их устранения.
- Убедитесь, что .NET Framework синхронизированы: если приложение / служба, которую вы пытаетесь запустить, находится на другой платформе, отличной от платформы хоста, у вас возникнут проблемы. Убедитесь, что фреймворки синхронизированы.
- Использование сборки выпуска: разработчики обычно используют сборку отладки для тестирования различных служб и их операций. Однако было отмечено, что невыполнение службы в сборке Release вызывает ряд проблем.
- Чтобы отладить запуск вашей службы (чтобы получить больше информации), вставьте приведенный ниже код в верхнюю часть метода OnStart () вашей службы:
в то время как (! System.Diagnostics.Debugger.IsAttached) Thread.Sleep (100);
Это остановит службу, чтобы вы могли быстро подключить отладчик Visual Studio через Отладка> Атака.
- Скопируйте DLL-версию выпуска или получите файл DLL из режима выпуска, а не режима отладки, и вставьте его в папку установки. Это решит любые проблемы, связанные с файлом DLL.
- Убедитесь, что база данных, к которой обращается ваша служба / приложение, правильно настроена. Если есть какие-либо проблемы с самой базой данных (или любыми другими учетными данными), вы получите сообщение об ошибке. Хорошая практика - еще раз проверить все модули и убедиться, что все параметры и переменные установлены правильно.