2012-09-21 2 views
0

나는 내 조건이 내 SetDirectory에서 작동하지 않는 이유를 알아 내려고 노력했습니다. WiX 문서에 따르면 실제로이 작업을 수행하는 사람의 사례를 찾을 수 없었습니다.Wix의 SetDirectory에 대한 조건

<SetDirectory Id="INSTALLLOCATION" Value="TEST">ComputerName=LJPRESCOTT1</SetDirectory> 

이 컴파일하지만 런타임에 무시됩니다 :

나는 다음과 같은 시도했습니다. 파일들은 C : \ Drive에 똑바로 설치되고 C : \ TEST에는 설치되지 않습니다.


<SetDirectory Id="INSTALLLOCATION" Value="TEST">[ComputerName]=LJPRESCOTT1</SetDirectory> 

이 컴파일하고 "나쁜 조건 문자열"오류가 발생하지 않습니다.

<SetDirectory Id="INSTALLLOCATION" Value="[ComputerName]" /> 

그래서 나는 경화제 이름이 올바른지 알고 : 나는 이렇게 할 경우


, 그것은 예상대로 LJPRESCOTT1이라는 이름의 디렉토리를 생성한다.

여기에 뭔가 잘못하고 있습니까? 그렇지 않습니다.

감사합니다.

+0

"작동하지 않는"매우 유용한 설명하지 않습니다. 항상 발사됩니까? 절대 발사하지 않습니까? –

+0

죄송합니다, 지금 편집하십시오. – Relevant

답변

1

형식을 지정하거나 Formatted 형식의 값을 사용하는 경우에만 [ComputerName] 구문을 사용하므로 두 번째 예의 구문 오류가 발생합니다.

그러나 첫 번째 예제에서는 ComputerName 속성의 값과 LJPRESCOTT1 (공용) 속성의 값을 비교합니다. 항상 false로 평가되는 것으로 생각합니다. 하드 문자열 값에 ComputerName을 비교하려는 경우 당신은 어떤 따옴표가 필요합니다

ComputerName="LJPRESCOTT1" 
+0

오 세상에 ... 때로는 내가하는 일 (또는이 경우하지 마세요)이 나를 놀라게합니다. 정말 고마워. – Relevant