我在VS 2005(.wxs)中创建了一个简单的Wix 3合并模块
<?xml version="1.0" encoding="UTF-8"?>
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
<Module Id="TestMergeModule" Language="1033" Version="1.0.0.0">
<Package Id="ef2a568e-a8db-4213-a211-9261c26031aa" Manufacturer="Me" InstallerVersion="200" />
<Directory Id="TARGETDIR" Name="SourceDir">
<Directory Id="MergeRedirectFolder">
<Component Id="Test_ModuleComponent" Guid="{1081C5BC-106E-4b89-B14F-FFA71B0987E1}">
<File Id="Test" Name="$(var.Project.TargetFileName)" Source="$(var.Project.TargetPath)" DiskId="1" />
</Component>
</Directory>
</Directory>
</Module>
</Wix>
我已将项目“Project”添加为此Merge模块的参考,但我仍然会收到此错误
错误7未定义的预处理器变量 '$(var.Project.TargetFileName)'
任何建议,我相信我只是错过了这里显而易见的。
答案 0 :(得分:2)
良好的做法决定了你总是认为这是你的问题并且它不是一个错误,但经过大量的浪费时间后我会检查,而且看起来可能是因为C ++不支持项目(我的是)
来自WIX3 bug report page
日期:2008-10-17 14:53发件人: jasongin任何C ++项目都没有 MSBuild的。 VS中的C ++项目使用了 不同的项目系统更多 很难与之互操作。那是 为什么Votive v3还不支持 对C ++项目的引用。我们知道 C ++项目引用很重要 功能,但还没有完成。该 工作由功能请求跟踪 1585281。
这是一个open feature request ..但现在已经很久了,所以不确定它是否会被修复: - (