2

我在 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>

我已经添加了项目“项目”作为对这个合并模块的引用,但是我继续收到这个错误

错误 7 未定义的预处理器变量“$(var.Project.TargetFileName)”。

任何建议,我相信我只是在这里遗漏了明显的东西。

4

1 回答 1

2

良好的实践要求您始终认为这是您的问题并且它不是错误,但是在浪费了很多时间之后,我想我只是检查一下,而且看起来可能是因为 C++ 项目不支持这我的是 )

来自 WIX3错误报告页面

日期:2008-10-17 14:53 发件人:jasongin 任何 C++ 项目都不是 MSBuild。VS 中的 C++ 项目使用更难互操作的不同项目系统。这就是为什么 Votive v3 还不支持对 C++ 项目的引用。我们知道 C++ 项目引用是一个重要的特性,但它还没有完成。该工作由功能请求 1585281 跟踪。

这是一个开放的功能请求..但现在看来已经有很长时间了,所以不确定它是否会被修复:-(

于 2009-02-12T19:45:35.197 回答