2017-05-08 1 views
1

저는 Wix3.11RC Toolset이 설치된 Win10 64 비트 OS를 사용하고 있습니다. 내 VS2017은 Wix v3 설치 프로그램 프로젝트를 만들었습니다. 우리 팀은 TeamCity9.1을 CI 도구로 사용하고 있습니다.Teamcity 9.1에서 Wix installer 프로젝트를 빌드 하시겠지만, 빌드 머신에서 'WixToolPath'를 설정하는 방법은 무엇입니까?

는 지금은 인 TeamCity에서 빌드 에이전트 (I 특권이없는 ) 터치 CI 서버 설정없이 wixproj 빌드를 지원하기 위해 만들고 싶어. 나는 기본적으로 모든 필요한 Wix 빌드 파일 (wix Bin 폴더 및 wix.targets)을 소스 코드의 상대 경로에 넣었는지 확인하기 위해 튜토리얼을 따랐다. 편집시 경로 문제로 막혔다. 공식 문서는 말했다 : http://wixtoolset.org/documentation/manual/v3/msbuild/daily_builds.html

<PropertyGroup> 
     <WixToolPath>$(SourceCodeControlRoot)\wix\[[Version]]\</WixToolPath> 
     <WixTargetsPath>$(WixToolPath)Wix.targets</WixTargetsPath> 
     <WixTasksPath>$(WixToolPath)wixtasks.dll</WixTasksPath> 
</PropertyGroup> 

그리고 이것은 내 꺼야 :

<PropertyGroup> 
     <WixToolPath>..\..\wix\3.11\</WixToolPath> 
     <WixTargetsPath>$(WixToolPath)targetsFile\v3.x\wix.targets</WixTargetsPath> 
     <WixTasksPath>$(WixToolPath)wixtasks.dll</WixTasksPath> 
    </PropertyGroup> 

내가 WixToolPath에 대한 상대 경로를 사용하고 있는데 그 이유는 $(SourceCodeControlRoot) 실제로 신 여기 D:\으로 해결 되었으나입니다 ce 코드는 CI 서버에서 체크 아웃하고 D:\ABC\f14c7929aa63f1fc과 같은 임의의 폴더 아래에 넣습니다. 구성에 따라 로컬 빌드가 완료되지 않을 수도 있습니다. 빌드 오류는 WixTasksPath이 존재하지 않는 경로로 확인되었음을 나타냅니다. C:\Program Files (x86)\MSBuild\Microsoft\WiX\v3.x\..\..\wix\3.11\wixtasks.dll

어떻게하면됩니까? 감사!

+0

이 문제는 GitHub의 문서 버그로 표시되었습니다 : https://github.com/wixtoolset/issues/issues/1911. 아쉽게도이 문제에 대한 업데이트가 없습니다. –

답변

0

시도해 볼 수있는 방법 중 하나는 도구를 호출하기 전에 TeamCity에서 제공 한 참조를 사용하여 파일의 경로를 절대 경로로 변경하는 것입니다. TeamCity 설정에서 체크 아웃 디렉토리 경로를 % system.teamcity.build.checkoutDir %로 참조하거나 MSBuild 빌드 단계로 실행하는 경우 MSBuild 단계에서 $ {teamcity.build.checkoutDir}을 사용할 수 있습니다. 첫 번째 빌드 단계에서 교체를 수행하거나 TeamCity file content replacer을 사용하여 이전 값을 새 값으로 변경할 수 있습니다.