GO exe, поскольку Windows Service требуется учетная запись администратора
У меня есть.exe в GO, который работает как служба Windows с привилегией учетной записи "Локальная система", но при перезагрузке системы он не запускается. Если я изменю функцию "LogOnAs" службы на любую учетную запись администратора, служба также запускается при перезагрузке. Есть ли способ узнать, почему это происходит.
Ошибка, которую служба выдает за то, что она не запускается: "Ошибка 1053: " Служба не ответила своевременно "при попытке запустить, остановить или приостановить службу".
Я даже попытался взглянуть на "монитор процесса" в sysinternals, это не дает сбой или значительный результат.
1 ответ
Причина Error 1053
может быть в результате ошибки при запуске службы Windows или, возможно, повреждены системные файлы
Признаки ошибки при запуске службы Windows
Когда вы останавливаете или приостанавливаете управляемую службу Microsoft Windows, а процесс остановки или приостановки службы занимает больше времени, чем настроенное по умолчанию время, вы получаете следующее сообщение об ошибке:
Could not stop the Windows service name service on Local Computer.
Error 1053: The service did not respond to the start or control request in a timely fashion.
Примечание. Имя службы Windows является заполнителем для имени службы Windows, которую вы создали.
причина
Класс ServiceBase вызывает метод OnStop непосредственно из обработчика команды Service, который определен в ScDispatcherLoop объекта Advapi32.dll
файл. Через 30 секунд, если поток ScDispatcherLoop не готов получить новую команду службы от диспетчера управления службами, Windows Service Controller помечает службу как time out.
Поэтому вы получаете это сообщение об ошибке.
Решение
Чтобы решить эту проблему, получите последний пакет обновления для Microsoft .NET Framework 1.1.
Следуйте инструкциям для завершения установки. После обновления service pack
установлен, вы больше не должны видеть Error 1053
сообщение появляется при попытке запустить, остановить или приостановить службу Windows.
Запустите проверку проверки системных файлов, чтобы исправить любые поврежденные системные файлы
Вы можете запустить сканирование System File Checker (SFC), чтобы исправить любые поврежденные системные файлы.
Для этого выполните следующие действия:
- Нажмите Пуск, Все программы, а затем Аксессуары. Нажмите Командная строка
(Ensure you run as administrator)
,
Проверка системных файлов дает администратору возможность сканировать все защищенные файлы для проверки их версий. Если средство проверки системных файлов обнаруживает, что защищенный файл был перезаписан, он получает правильную версию файла из папки кэша. (%Systemroot%\System32\Dllcache)
или исходные файлы установки Windows, а затем заменяет неправильный файл. Проверка системных файлов также проверяет и заново заполняет папку кэша. Вы должны войти в систему как администратор или как член группы администраторов, чтобы запустить проверку системных файлов. Если папка кэша повреждена или непригодна для использования, вы можете использовать sfc /scannow
, sfc /scanonce
, или sfc /scanboot
Команды для восстановления его содержимого.
Синтаксис средства проверки системных файлов
Sfc [/Scannow] [/Scanonce] [/Scanboot] [/Revert] [/Purgecache] [/Cachesize=x]
/Scannow: Scans all protected system files immediately and replaces incorrect versions with correct Microsoft versions. This command may require access to the Windows installation source files.
/Scanonce: Scans all protected system files one time when you restart your computer. This command may require access to the Windows installation source files when you restart the computer. The **SfcScan DWORD** value is set to 2 in the following registry key when you run this command:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon
/Scanboot: Scans all protected system files every time you start your computer. This command may require access to the Windows installation source files every time you start your computer. The SfcScan DWORD value is set to 1 in the following registry key when you run this command:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon
/Revert: Returns scan to the default setting (do not scan protected files when you start the computer). The default cache size is not reset when you run this command. This command is equivalent to the /Enable switch in Windows 2000.
/Purgecache: Purges the file cache and scans all protected system files immediately. This command may require access to the Windows installation source files.
/Cachesize=x: Sets the file cache size to xmegabytes (MB). The default size of the cache is 50 MB. This command requires you to restart the computer, and then run the /purgecache command to adjust the size of the on-disk cache. This command sets the SfcQuota DWORD value to x in the following registry key:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon
После завершения сканирования закройте command prompt
окно, restart
компьютер и проверьте наличие проблемы.
Ресурсы: Ошибка 1053, Fix, SFC