2014-12-11 3 views
0

.wxs 파일을 사용하여 설치 프로젝트를 만드는 데 상당히 익숙합니다. WIX 3.9를 사용하고 있습니다. .wxs 파일에서 실제 경로를 가상 경로로 변경하고 싶습니다..wxs 파일에서 가상 경로를 선언하는 방법은 무엇입니까?

<Component Id="cmp2CB74B07C01493F593A258BAE09C0B1C" Guid="08CD4620-DE67-4C7A-A97A-212AB5BA5E52"> 
    <File Id="filCF6108D60D7B1865907043E2ABFE30DF" KeyPath="yes" Source="~\ProjectName\Client\Bin\AjaxControlToolkit.dll" /> 
    </Component> 

어떻게이 파일 .wxs에서 할 수 -

<Component Id="cmp2CB74B07C01493F593A258BAE09C0B1C" Guid="08CD4620-DE67-4C7A-A97A-212AB5BA5E52"> 
    <File Id="filCF6108D60D7B1865907043E2ABFE30DF" KeyPath="yes" Source="C:\ProjectName\Client\Bin\AjaxControlToolkit.dll" /> 
</Component> 

내가 이런 가상 경로 뭔가를 사용하려면 - 현재 .wsx 파일은 다음과 실제 경로를 사용하여 무엇입니까? 제발 제안 해주세요.

+0

"가상 경로"는 여기에서 사용할 최상의 용어가 아닐 수도 있습니다. – user145400

답변

0

이미 열을 사용하여 구성 요소를 생성한다고 가정하면 -var <VariableName>을 사용하여 변수를 지정할 수 있습니다. 이 것 docs에 따르면 전처리 또는 윅스 변수 (와

대체 파일/@ 출처 = "SOURCEDIR는"-var var.MySource은 파일/@ 출처 = "$ 될 것입니다 예를 들어 (var.MySource) \ MYFILE.TXT! (wix.MySource) \ MYFILE.TXT ""와 -var wix.MySource은 파일/@ 출처 =이 될 것이다 ".

을 내가 이것을 사용 후 빌드에서 열 명령을 실행하여 이벤트가 발생하여 -var var.$(ProjectName).TargetDir을 전달하면 결과로 FileSource="$(var.ProjectName.TargetDir)\whatever.dll"이됩니다. ProjectName이 윅스 설정 프로젝트에 대한 참조로 추가되는 경우 변수가 올바르게 해석됩니다.