Установлена ​​новая служба Windows, не запускается: «Системная ошибка 2… система не может найти указанный файл»

Я успешно установил несколько других настраиваемых служб Windows .Net. Новый, который я недавно написал, был очень похож на другие, и, хотя он был установлен без ошибок, при запуске его с помощью сервисного контроллера он не запустился с диалоговым окном ошибки: Системная ошибка 2 … система не может найти указанный файл.

После времени и ужаса единственное, что я мог подумать, что существенно отличалось от этой службы, – это то, что путь и имя исполняемого файла были как минимум на 10 символов длиннее, чем у любой из других моих служб. После сокращения пути и имени .exe и повторной установки служба работала нормально: ошибок нет! Я могу только предположить, что мой предыдущий путь или имя службы или .exe было слишком длинным.

Кроме того, уместно упомянуть, что я использовал некоторый заимствованный код «служебного драйвера», встроенный в мой exe, для обработки установки/удаления службы в контроллере службы через вызовы Win API. Возможно, внутри модуля служебного драйвера было скрыто ограничение на количество символов.

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


Я экспериментировал с некоторыми тестовыми сервисами и обнаружил, что моя проблема не в длине какого-либо свойства («Системная ошибка 2 … система не может найти указанный файл») начать с. Мой встроенный установщик службы использует три свойства: ServiceName, ServiceTitle, ServiceDescription. При установке я обнаружил, что он записывает полный путь к службе в реестр, но он не просто берет фактическое имя exe (сборки), он использует свойство ServiceName для построения пути! Моя проблема заключалась в том, что имя службы и имя сборки не совпадали, поэтому файл не найден. Я использовал запрос реестра PowerShell, чтобы раскрыть путь, и, наконец, заметил несоответствие оттуда. Когда я впервые заметил проблему, я не заметил, что, когда я сократил имя службы из того, что было, я просто использовал имя сборки без .exe, и это то, что на самом деле исправило, а не просто сократило его.


9

У меня была аналогичная проблема с сервисом, где я получал ту же ошибку.

Я зашел в:

HKEY_LOCAL_MACHINE SYSTEM CurrentControlSet Services YourServiceName ImagePath

Мой ‘ImagePath’ был настроен на виртуальный диск с именем «W: », который существует на «C: ».
Я заменил этот путь фактическим расположением файла на диске C: , а затем служба успешно запустилась

Улучшите этот ответ
ответил 19 ноя 2018 в 9:21
добавить комментарий |

У меня была аналогичная проблема с сервисом, где я получал ту же ошибку.

Я пошел в:

HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesYourServiceNameImagePath

Мой ‘ImagePath’ был настроен на виртуальный диск называется “W: “, который существует на “C: “.
Я заменил этот путь фактическим расположением файла на диске C: , а затем служба успешно запустилась


6

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

  1. Итак, вам нужно либо установить службу с полным путем или добавьте путь исполняемого файла к PATH в переменных системной среды.

      SC CREATE "Service-Name" binpath = "D:   full-path-to-service  service.exe " 

    или добавьте D: full-path-to-service в переменную PATH и используйте

      SC CREATE "Service-Name" binpath = "service.exe"  

  1. Также проверьте правильность пути. Поскольку однажды я установил неправильный путь, и он был успешно установлен, но когда я попытался запустить его, я получил ту же ошибку.
Улучшите этот ответ
отредактировано 14 декабря ’20 в 12:27
ответил 3 июня ’19 в 9:39
добавить комментарий |

В моем случае я открыл командную строку, перешел к exe и установил его оттуда. Так что я не вошел в полный путь. Когда я использовал полный путь, все заработало.

  1. Итак, вам нужно либо установить службу с полным путем или добавьте путь исполняемого файла к PATH в переменных системной среды.

      SC CREATE "Service-Name" binpath = "D:   полный путь к услуге  услуге. exe " 

    или добавьте D: full-path-to-service в переменную PATH и используйте

      SC CREATE "Service-Name" binpath = "service.exe"  

  1. Также убедитесь, что путь правильный. Поскольку однажды я установил неправильный путь, и он был успешно установлен, но когда я попытался запустить его, я получил ту же ошибку.

1

Моя проблема заключалась в том, что при создании службы с помощью команды Powershell добавлялись такие скобки, как: ​​ в реестр.

  Замена  на "исправлено для  я  

Улучшите этот ответ
ответил 17 янв. в 11:07
добавить комментарий |

Моя проблема заключалась в том, что при создании службы с помощью команды Powershell добавлялись такие скобки, как: ​​ в реестр.

  Замена  на "исправлено для меня.  

0

У меня была такая же проблема, ничто не помогло решить эту ошибку, затем я решил не использовать путь c: Windows System32 для хранения исполняемого файла службы!

Улучшить этот ответ
ответил 28 июня ’19 в 13:27
добавить комментарий |

У меня была такая же проблема, ничто не помогло решить эту ошибку, затем Я решил не , используя путь c: Windows System32 для хранения исполняемого файла службы!


0

В моем случае проблема была вызвана ошибкой в ​​процедуре запуска службы. DriverEntry (в моем случае это был драйвер режима ядра) возвращает неверное значение статуса. Я думаю, что эта ситуация применима и к пользовательскому режиму.

Улучшите этот ответ
ответил 16 апр. ’20 в 21:51
добавить комментарий |

В моем случае проблема возникла из-за ошибки при запуске службы . DriverEntry (в моем случае это был драйвер режима ядра) возвращает неверное значение статуса. Я думаю, что эта ситуация применима и к пользовательскому режиму.



2.79 и 2.8 – Система Win32 Error 2 не может найти указанный файл

Привет, люди,
Повторное использование Blender через 7/8 лет или более.
7.9b и 8 оба просто зависают в командном окне с ошибкой Win32 # Система не может найти указанный файл.
С 7.9b это была и установка, и версия ZIP.
Версия 2.7 ZIP отлично работает .
Win 8.1 Pro 64 bit 32Gb
Пытался переместить zip-версии на диск C/пользователей и т. д. без изменений
Запуск -debug выдает ту же ошибку – не удается найти какой файл не находит – если это вообще имеет смысл
Спасибо, ребята,
J
РЕДАКТИРОВАТЬ РЕШЕНО – СМОТРИТЕ НИЖЕ – WINDOWBLINDS 8 ОСТАНОВКИ 2.79/2.8 РАБОТАЕТ


Переименуйте папку профиля Blender, попробуйте еще раз

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


Спасибо, приятель, только что попробовал, и никаких изменений.
Да, я помню из прошлого раза, когда я его использовал, он отлично работал легко.
И версия 2.70 годится.
Я обновлю драйверы видеокарты, посмотрю, поможет ли это.
Environment Varaibles -wise – есть ли где-нибудь, что он должен искать? вы знаете?


Вы удалили/переименовали свой профиль Blender, если он существовал?

Единственное, о чем я могу думать, это существующий Python37, но Blender поставляется с собственным Python, поэтому вам нужно знать, что происходит в вашей системе.

Вы также можете использовать --debug-all


Да, пробовал отладку, и она дает то же самое, что и консоль [если она не сохраняет где-то еще?]

C: Users jerry blender-2.79b-windows64 > blender.exe –debug-all

C: Users jerry blender-2.80-798d2cadc307-win64> blender.exe –debug-all
Переключение на полностью защищенный распределитель памяти.
файл чтения
Версия 280 sub 39 дата неизвестно хэш неизвестен
graph_i d_tag_update: id = SCScene flags = LEGACY_0 source = USER_EDIT
Ошибка Win32 # (2): система не может найти указанный файл.


AH – шаг вперед дорога!
даже при том, что это не установка Steam – получение этой opengl dll получило работу 2.79B

2.8 сообщает: Blender требует графического драйвера с поддержкой как минимум OPenGL 3.3 [который Я сейчас скачиваю. Отчитаюсь. Спасибо


Хм, вот что интересно.
2. 79B запустится с этой dll openGL в каталоге, НО он очень медленный, даже просто вращение куба.

Обновили драйверы nvidia до последней версии, и пока openGL – 4. что-то, 2.8 отказывается запускаться без библиотеки dll opengl в каталоге, но даже с этой dll она все равно выдает ошибку окна «графический драйвер с поддержкой хотя бы OGL 3.3»…

это консоль отладки из версии 2.79B с opengl. dll в каталоге

C: Users jerry blender-2.79b-windows64> blender –debug-all
Переключение на полностью защищенный распределитель памяти.
прочитать файл C: Users jerry AppData Roaming Blender Foundation Blender 2.79 config
userpref.blend
Версия 279 sub 0 date 2018-03-22 14:10 hash f4dc9f9d68b
Параметры чтения: C: Users jerry AppData Roaming Blender Foundation Blender 2.79 confi
g userpref.blend
читать файл
Версия 272 sub 2 дата неизвестный хеш неизвестен

заказанный
OBCube
OBLamp
OBCamera
AL lib: (EE) UpdateDeviceParams: не удалось установить 44100 Гц, есть Вместо 48000 Гц
Ошибка Win32 № (2): системе не удается найти указанный файл.
Предупреждение! Устаревший WGL не может выбирать между версиями OpenGL. ED_screen_refres
h: set screen


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


Спасибо, друг. i7 4790K 32Gb RAM GTX 970
Продолжай копать!


Хорошо, должно работать. Вы слышали об утилите под названием DDU? Если нет, пожалуйста, погуглите и удалите вместе с ним старые драйверы
После этого переустановите новейший драйвер NVIDIA, загрузите заархивированную версию блендера и (после распаковки) создайте папку с именем config в папке 2.79, которая содержится в распакованный архив. Они попытаются запустить его.
Если это все еще не сработает, я боюсь, что ваша машина сильно заболела


Ах, спасибо, человек даст вам иди.
Хаха, да, боюсь, там может быть какая-то более глубокая печаль! Отлично работает и на моем latop.
Просто запустите/sfc и попробую ваш совет DDU, спасибо, дружище


Ах, нет новостей, к сожалению
sfc не нашла ничего, чтобы исправить полное удаление
DDU. ручная чистая установка драйверов Nvidia. По-прежнему «не удается найти файл»

Кто-нибудь знает способ узнать, какой файл ищет?


РЕШЕНО!
Ха-ха поговорим о кроличьей норе!
В конце концов, ошибка Windows32 оказалась несерьезной – она ​​не имела ничего общего с проблемой.
После долгих поисков и ошибок выяснилось, что проблема была в Windowblinds 8! Я сидел там молча и незамеченным в течение многих лет, снимая шкуру с моих окон, и это первый раз, когда это дало о себе знать в виде серьезной головной боли, отстойной от времени! Выключил, все хорошо
Спасибо за то, что поработали со мной, ребята.
Дж.

Оцените статью
futurei.ru
Добавить комментарий