내가 위해 윅스를 사용하기 시작하고 자동화 할 수있는 정의되지 않은 처리기 내 C# 프로젝트의 MSI의의를 작성하고 오류 "정의되지 않은 처리기 변수 '$ (var.MyProject.TargetDir)'"는 윅스 변수
을 경험하고 구축최신 WiX v3.0.5419를 사용하고 있습니다. 내 WXS 내가 (http://blogs.msdn.com/jrock/archive/2008/01/29/complete-list-of-candle-preprocessor-variables.aspx)
<Component Id="MyId" Guid="MyGuid">
<File Id="MyId" Name="MyName" KeyPath="yes"
Source="$(var.MyProject.TargetDir)\MyName.dll" />
</Component>
내가 .wixproj에 MyProject를위한 기준을 추가 한 내가 메모장에서 그것을 열면 내가 할 수있는이 웹 페이지에 표시됩니다 전처리 변수를 사용하는 것을 시도하고 파일 내부 참조를 참조하십시오.
<ItemGroup>
<ProjectReference Include="..\MyProject.csproj">
<Name>MyProject</Name>
<Project>{guid}</Project>
<Private>True</Private>
</ProjectReference>
</ItemGroup>
이것은 msi를 만드는 데 사용하는 내 빌드 스크립트입니다. 아마도 .wixproj가 빌드에서 사용되지 않은 프로젝트 참조를 알고 있기 때문일 수 있습니다.
<exec basedir="${tools.wix}" managed="true" program="candle.exe">
<arg line='-out "${tools.wix.objfile}"' />
<arg value="../MySetup.wxs" />
</exec>
아무에게도 나에게이 사실을 알려 줄 수 있습니까?
대단히 감사합니다. 방금 wixproj가 msbuild 파일이라는 사실을 알았습니다. 실제로 솔루션을 구축하여 올바르게 빌드했습니다. – David
빠른 헤드 업 - 옵션을 지정하는 올바른 방법은 -dMyProject.TargetDir입니다. 주요한 var. 잘못된 것입니다. http://geekswithblogs.net/Howard/archive/2009/01/20/wix-variables.aspx –
@Sean : 수정 해 주셔서 감사합니다. 결정된. –