2012-11-24 1 views
2

내 원격 서비스가 내 Server 2008 32 비트에서 제대로 작동하지만 내 Windows 7 컴퓨터에서 실행하려고하면 STARTService()가 ERROR_FILE_NOT_FOUND와 함께 실패합니다.StartService() 및 'sc start'가 ERROR_FILE_NOT_FOUND를 반환합니다.

OpenService(), CreateService(), QueryServiceStatus() 및 OpenService()는 모두 성공을 반환하지만 StartService()는 실패합니다.

SDK Samples \ WinBase \ Service에서 서비스를 컴파일하고 Win 7 컴퓨터의 Windows \ system32 디렉토리에 복사 한 다음 '-install'을 사용하여 실행했습니다. 'SC start'로 시작하려고하면 같은 오류가 반환됩니다. 여기

는 SC의 정보입니다 :

나는 심지어 내 윈도우 7 컴퓨터에 xCmd.exe를 실행
C:\Windows\System32>sc query SimpleService 

SERVICE_NAME: SimpleService 
     TYPE    : 10 WIN32_OWN_PROCESS 
     STATE    : 1 STOPPED 
     WIN32_EXIT_CODE : 1077 (0x435) 
     SERVICE_EXIT_CODE : 0 (0x0) 
     CHECKPOINT   : 0x0 
     WAIT_HINT   : 0x0 


C:\Windows\System32>sc qc SimpleService 
[SC] QueryServiceConfig SUCCESS 

SERVICE_NAME: SimpleService 
     TYPE    : 10 WIN32_OWN_PROCESS 
     START_TYPE   : 3 DEMAND_START 
     ERROR_CONTROL  : 1 NORMAL 
     BINARY_PATH_NAME : C:\Windows\System32\ServiceSvc.exe 
     LOAD_ORDER_GROUP : 
     TAG    : 0 
     DISPLAY_NAME  : Simple Service 
     DEPENDENCIES  : 
     SERVICE_START_NAME : LocalSystem 


C:\Windows\System32>sc start SimpleService 
[SC] StartService FAILED 2: 

The system cannot find the file specified. 

, 그것은 원격 서비스의 유사한 유형을 실행, 그것은 바이러스 경고를 제공하지만, 심지어 같은를 반환 오류.

권한 문제라면 아마도 ERROR_ACCESS_DENIED를 반환 할 것이라고 확신합니다.

나는 그물 전체를 수색 했으므로 그 이유를 찾을 수 없다.

답변

4

나는이 문제를 발견했다고 확신한다.

앱이 WOW64 에서 실행되고 있으며 그것이 64 비트 Windows 7 컴퓨터에서 실행 중이 었는지를 확인하는 코드를 발견했습니다.

WOW64에서 실행될 때 system32가 아닌 Windows \ SysWOW64로 이동합니다.

Windows \ SysWOW64에 32 비트 서비스 .exe를 복사 한 후 을 실행하고 서비스를 시작했습니다! :-)

-1

\ windows \ system32에서 서비스 실행 파일을 실행하십시오.

관련 문제