2012-02-03 2 views
0

저는 WiX를 처음 사용하기 시작했습니다. 몇 가지 조언을 해주시면 감사하겠습니다.UI 옵션을 기반으로 xml 파일 업데이트

몇 가지 Windows 서비스를 설치하는 WiX 프로젝트를 만들었지 만 환경에 따라 서비스 이름, 사용자 이름/암호 및 .config 파일 xml을 다르게 설정해야합니다. 환경은 라디오 버튼을 통해 UI에 설정됩니다. 즉, ENVIRONMENT가 PROD, UAT 또는 SYSTEST로 설정됩니다.

환경 관련 변경 사항을 작성하는 방법에 대해 확신 할 수 없습니다. 각 환경에 대한 조건이있는 구성 요소를 생성해야합니까? 그것은 많은 중복을 의미 할 것입니다, 아마도 더 우아한 해결책이 있을까요? 내가 알아야 할 것이 있습니까 (나는 이름을 사용자 정의하면 서비스가 제거되지 않을 수도 있다는 것을 읽었습니다).

감사합니다.

답변

0

아직 이에 대한 답변이 없기 때문에 내가 뭘했는지 말하고 싶습니다.

모든 환경에서 반복되는 모든 구성 요소에 조건을 적용하면 유지 관리가 어려워 졌으므로 모든 환경 관련 속성을 VBscript 사용자 지정 동작에 넣기로 결정했습니다. 나는 그것을 레지스트리에 저장하고 UI를 사용할 수 없을 때 uninstall \ upgrade 동안 그것을 가져와야 만했다. 그러나 처음에는 꽤 잘 작동하는 것처럼 보였다.

서비스 설치를 시작하자마자 문제가 발생했습니다. 설치 제거가 실행될 때 서비스가 실행 중이라는 사실을 인식하지 못했습니다. 로그에서 서비스 이름을 올바르게 검색했기 때문에 이유를 알 수 없었지만 msi 테이블에없는 서비스 이름에 확실히 빠졌습니다.

조금 복잡하고 지저분 해 (초보자에게는 혼란 스러웠습니다!) 훌륭한 게시물을 토대로 다른 방법을 시도해보기로했습니다. WiX tricks and tips - 라이브, 테스트, 교육, ... 버전 만들기 동일한 소스 파일을 사용합니다.

정말 잘 작동하고 다른 지점 (동일한 환경을 공유하는)에서 업그레이드를 처리하기가 훨씬 쉽습니다.

유일한 단점은 빌드 시간이 상당히 단축되었지만 문제가되지 않는다는 것입니다. 누군가에게 유용하기를 바랍니다.

관련 문제