Модуль слияния WIX:Попытка использовать $(var.Project.TargetFileName)
Вопрос
Я создал простой модуль слияния Wix 3 в VS 2005 (.wxs).
<?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)'.
Есть какие-либо предложения, я уверен, что здесь просто не хватает очевидного.
Решение
Хорошая практика требует, чтобы вы всегда предполагали, что это ваша проблема, а не ошибка, но после большого количества потраченного времени я решил просто проверить, и, похоже, это может быть потому, что это не поддерживается для проектов C++ (которые мой такой)
Из WIX3 страница отчета об ошибке
Дата:2008-10-17 14:53 Отправитель:Jasongin любой проект C ++ не является MSBuild.Проекты C ++ в VS Используйте другую проектную систему, с которой сложнее взаимодействовать.Вот почему Vative V3 еще не поддерживает ссылки на проекты C ++.Мы знаем, что ссылки на проект C ++ - важная функция, но это еще не сделано.Работа отслеживается по запросу функции 1585281.
Это открытый запрос функции..но, кажется, это было уже давно, поэтому не уверен, что это когда-нибудь будет исправлено :-(