2012-09-12 3 views
0

C# Windows 서비스의 출력을 사용하는 WiX 설정 프로젝트가 있습니다. 프로젝트를 설치하면 service.msc에 서비스가 제대로 만들어지고 작업 관리자에서 프로세스를 볼 수 있습니다.C# - WiX windows 서비스

내 Windows 서비스는 IP : PORT에 바인딩하고 연결을 수신하는 서버입니다.

WiX를 사용하여 서비스를 설치할 때 IP : PORT 바인딩이 발생하지 않는 것처럼 보이지만 오류는 표시되지 않습니다. netstat 확인하고 IP : PORT 목록에 표시되지 않습니다.

반면에 InstallUtil을 사용하면 제대로 작동합니다.

WiX에서 잘못된 일을하고 있습니까? 아니면 내 서비스에서 변경해야 할 사항이 있습니까?

.NET 4.0 사용

감사합니다!

답변

0

SC 명령, ServiceInstall Table 또는 InstallUtil에서 시작한 설치 관리자 클래스 사용자 지정 작업을 사용하는 경우에도 동일한 데이터 세트를 가정하면 끝 상태는 동일해야합니다.

따라서 데이터 세트가 동일하지 않거나 (사용자 이름, 암호 ectera) ServiceInstall 테이블에 의해 표시되지 않은 사용자 지정 작업에서 추가 등록 코드가 수행됩니다.

VM에서 관찰하거나 설치 프로그램 사용자 지정 동작 코드를 보지 않고도 더 이상 문제를 해결하기 어렵습니다. 몇 년 동안 .NET에서 작성된 수백 개의 Windows (NT) Services를 설치했지만 ServiceInstal은 그 이상의 기능을 갖추고 있다고 말할 수 있습니다.

+0

나는 대답하고 싶었지만, 나는 나의 명성 때문에 그렇게 할 수 없다. 여기는 내 답변은 pastebin입니다 : http://pastebin.com/GtxQBvND – DOMZE

+1

그것은 당신이 servcie를 만들고 EventLog/EventSource를 만드는 것처럼 보입니다. WiX에서 Util 확장을 사용해야하고이를 수행하기 위해 EventSource 요소를 선언해야합니다. 이벤트 소스가 없으면 시작시 서비스가 예외를 던질 수 있습니다. http://wix.sourceforge.net/manual-wix3/util_xsd_eventsource.htm –

+0

좋은 지적 참조. 내 WiX에는 EventSource가 없었습니다. 그러나 추가 한 후에도 여전히 바인딩되지 않습니다. 나는 정말로 당황 스럽다 ... – DOMZE