2011-01-18 5 views
1

과 함께 시작되지 않습니다. VS2010을 사용하여 간단한 NT 서비스를 작성했으며 InstallUtil을 사용하여 내 XPSP3 dev에 상자를 설치합니다. 불행하게도 좋아하지 않았다 경로 net start 지정에 관한 더 자세한 정보와 함께,
The TestService service failed to start due to the following error: The system cannot find the path specified.Windows 서비스가 일반 오류

이 같은 오류는 또한 이벤트 시스템 로그에 기록됩니다 내가 net start TestService을 실행할 때 나는 일반적인 오류가 발생합니다. 그래서 Filemon을 실행했지만 거기에는 운이 없었습니다. 출력물 중 실패한 서비스에 아무런 빛도 낼 수 없었습니다.

서비스는 로컬 서비스 계정으로 실행됩니다.

이 문제를 디버깅하는 데 필요한 팁이 있습니까?

편집 : 도움말 모두에게 감사드립니다. DLL은 괜찮 았고, 블록을 잡아 내지 못했고, InitializeComponentOnStart 주변 블록을 시도/catch했습니다. 아래에서 언급 한 경로 확인 문구는 팁 오프입니다. 확실한 실수를했습니다. SUBST'ed 드라이브에서 내 바이너리로 InstallUtil을 실행했습니다.이 드라이브는 어떤 이유로 성공을보고했습니다. 로컬 경로에서 InstallUtil을 실행하면 문제가 해결되어 이제 서비스가 올바르게 시작됩니다.

+1

로깅 코드와 함께 'catch'블록을 추가하십시오. 또한 DLL이 누락되지 않았는지 확인하십시오. – SLaks

답변

3

먼저 sc qc TestService 을 사용하여 서비스가 제대로 설치되었는지 확인하십시오.이 경로가 전체 경로 이름 (드라이브 문자로 시작)인지 확인하고 명령 줄에서 실행 파일을 실행하십시오.

위의 경우 작동 파일에 대한 사용 권한을 확인하려고합니다.

+1

또한 서비스는 일반적으로 네트워크 경로에서 시작하지 않습니다. 경로가 로컬인지 확인하십시오. –

0

... bin \ Release \ xxxmyprojxxx.exe가 (드라이브 문자에 매핑 된 경우에도) 네트워크 드라이브에있는 경우 "시스템 오류 2 ... 시스템에서 찾을 수 없음 파일이

그래서 기계 (산 또는 내부 드라이브)에 로컬 드라이브, 하지 매핑 된 네트워크 공유/드라이브 (희망 종속성을 포함) EXE 파일과 디렉토리를 복사 "지정했습니다.

관련 문제