설치 루프: "지정된 서비스가 이미 존재합니다." 및 "지정된 서비스가 설치된 서비스로 존재하지 않습니다."

설치 루프: "지정된 서비스가 이미 존재합니다." 및 "지정된 서비스가 설치된 서비스로 존재하지 않습니다."

Windows Server 2012 R2에 자체 개발 서비스를 설치할 때 시스템은 어떻게든 InstallUtil.exe가 서비스가 존재하고 존재하지 않는다고 생각하는 상태가 되었습니다. 설치 명령을 실행하면 프로세스가 시작되고 다음 오류와 함께 롤백됩니다.

System.ComponentModel.Win32Exception: 지정된 서비스가 이미 존재합니다.

InstallUtil.exe에 해당 서비스 파일에 대한 제거 명령을 제공하면 프로세스가 궁극적으로 오류와 함께 완료됩니다.

System.ComponentModel.Win32Exception: 지정된 서비스가 설치된 서비스로 존재하지 않습니다.

실제로 서비스는 제거 및 재설치를 시도하기 전에 존재했지만 현재 Powershell 명령 Get-Service, 어셈블리 파일, 레지스트리에서 해당 서비스의 흔적을 찾을 수 없습니다. 나는 이것이 완전한 제거/재설치 없이(단순히 실행 파일을 덮어쓰는 것과 같이) 컴파일된 소프트웨어에서 서비스 이름이 변경되어 발생했다고 생각합니다. 제 질문은 문제를 진단하기 위해 지금 무엇을 할 수 있느냐는 것입니다.

답변1

원인이 발견되어 확인되었습니다. 다른 개발자가 실수로 프로젝트에 정확히 동일한 서비스 이름을 가진 두 번째 서비스 설치 프로그램을 추가했습니다. (물론 그는 이 변경 사항을 테스트하지 않았습니다.) 정확히 동일한 이름을 가진 두 서비스를 설치하려고 시도한 최종 결과는 Windows 또는 설치 로그에 반영되지 않았으며 서비스가 명령을 통해 설치되었을 때 명령 프롬프트에도 반영되지 않았습니다. 선.

이 진단을 내리기 위해 소스 코드에 들어가서 서비스 이름을 직접 변경했습니다. 다시 빌드하고 설치하면 서비스 목록에 두 개의 서비스가 추가되었습니다.

답변2

내 경우에는 내가 선택한 "모니터"라는 다소 일반적인 이름이 실제로 이미 존재한다는 것이 밝혀졌습니다. 나는 좀 더 구체적인 이름을 생각해 냈고 모든 것이 작동했습니다.

관련 정보