GO exe, поскольку Windows Service требуется учетная запись администратора

896
Pharaoh

У меня есть .exe в GO, который работает как служба Windows с привилегией учетной записи «Локальная система», но когда я перезагружаю систему, она не запускается. Если я изменю функцию «LogOnAs» службы на любую учетную запись администратора, служба также запускается при перезагрузке. Есть ли способ узнать, почему это происходит.

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

Я даже попытался взглянуть на «монитор процесса» в sysinternals, это не дает сбой или значительный результат.

0

1 ответ на вопрос

0
antzshrek

Причиной 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

Это было скопировано со страницы MSDN, пожалуйста, оставьте ссылку, а не копируйте вставленный контент. Однако это не сработало Pharaoh 7 лет назад 0

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