2011-11-11 3 views
4

결과로 생성되는 MSI가 MyProject-Version-Configuration.msi (예 : MyProject-1.2.0.1325-Debug)가되도록 동적으로 WiX 설치 프로그램 프로젝트의 이름을 지정하려고합니다. 출력 파일의 이름이 링커 (light.exe)에 의해 설정되어 있기 때문에, 내가 thusly 히 윅스 프로젝트의 도구 설정에서 추가 매개 변수를 사용하는 것이라고 생각 :Votive의 링커에 MSBuild 변수 전달

-out $(TargetDir)MyProject-$(Version)-$(Configuration)$(TargetExt) 

불행하게도, $ (TARGETDIR) 및 $ (TargetExt)는 프로젝트가 실행될 때 평가되지 않으므로 빛은 다음을 수신합니다.

-out MyProject-1.2.0.1325-Debug 

명백히 올바른 출력을 생성하지 않습니다. $(Configuration)이 올바르게 설정 되었다면 왜 $(TargetDir)$(TargetExt)이 아닌지 궁금합니다.

I 출력 파일의 이름을 변경하는 빌드 후 이벤트를 사용하여 문제를 해결할 수 있습니다, 다음 이 나는 ​​$(TargetDir)$(TargetExt) 속성에 액세스 할,하지만 난 링커가 수신하지 않는 이유를 알고 싶습니다 올바른 명령.

답변

0

.wixproj 파일을 편집하고 Visual Studio 외부에서 변경해야합니다. 내가 아는 한 Votive는 일부 문자를 잘못 이스케이프합니다 (AFAIR은 $$로 $를 대체합니다).