2012-08-16 1 views
0

wix를 사용하여 Windows 서비스를 설치해야합니다. 불행히도 ServiceInstall이 내 필요에 맞지 않습니다. 서비스 파일을 명시 적으로 지정하는 것을 허용하지 않으며 서비스 실행 파일이있는 동일한 구성 요소에 배치해야합니다. 그러나 프로젝트가 구축 될 때마다 구성 요소가 열에 의해 동적으로 생성됩니다. 그래서 ServiceInstall을 설치할 수 없습니다.wix를 사용하고 ServiceInstall을 사용하지 않고 windows 서비스를 설치하는 방법

서비스를 설치하는 다른 방법을 아는 사람이 있습니까?

.net 첫 번째 아이디어는 .net 프레임 워크에서 직접 installutil을 실행하는 것입니다.

답변

0

원하는대로 XSLT 변환 (-t 스위치 참조)으로 열 출력을 변환 할 수 있습니다. 그리고 여전히 installutil로 돌아가는 것보다 낫습니다 ... DTF 문서 (WiX와 함께 설치된 DTF.chm, Development Guide > Managed CAs > InstallUtil)를보고 installutil을 사용하는 것이 좋은 아이디어로 여겨지지 않는 이유를 찾아보십시오.

+0

Tx! 나는 심지어 그것이 어떻게하는지 설명되는 질문을 발견했다 : http://stackoverflow.com/questions/7020694/wix-3-5-install-service-from-heat-need-from-custom-action – ElDog

3

필자는 동적 설치 작성의 많은 제한 사항에 대해 이야기 해 왔습니다. ServiceInstall을 사용하여 정적으로 서비스 구성 요소를 작성한 다음 동적 생성 프로세스에서 제외합니다.

그런데 다시 동적 작성 기간을 사용하지 않습니다. 나는 그것을 최선의 방법이라고 생각하지 않는다.

+0

+ 1, 정적으로 포함하기가 어렵지 않고 모든 빌드를 생성 할 때마다 빌드를 생성해야하는 이유는 무엇입니까? –

+0

wix 파일을 정적으로 만들 것을 권장하지만 제 상황에서는 단순히 사실을 받아 들여야합니다. 내가 완전히 알지 못하는 빌드 폴더의 내용을 미리 포장하십시오. 나중에 정적 파일 생성으로 전환 할 수 있습니다. 어쨌든 고마워. – ElDog

+1

나는 결코 그 '사실'을 받아들이지 않을 것이다. 그것은 끔찍한 요구 사항이며 나쁜 설계이며 아마도 배포에 대해 모르는 사람으로부터 온 것입니다. 빌드시에 마술처럼 올바르게 이해할 수 없다고 생각할 수있는 많은 경우의 추가 메타 데이터 사례 시나리오가 있습니다. –

관련 문제