Передать переменные MSBuild компоновщику в Votive - PullRequest
4 голосов
/ 11 ноября 2011

Я пытаюсь динамически назвать выходные данные моего проекта установщика WiX, чтобы в результате MSI был MyProject-Version-Configuration.msi (например, MyProject-1.2.0.1325-Debug). Поскольку имя выходного файла задается компоновщиком (light.exe), я подумал, что буду использовать Дополнительные параметры в Настройках инструментов проекта WiX следующим образом:

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

К сожалению, $ (TargetDir) и $ (TargetExt) не оцениваются при запуске проекта, поэтому light получает:

-out MyProject-1.2.0.1325-Debug

, что явно не дает правильного вывода. Учитывая, что $(Configuration) установлено правильно, мне интересно, почему $(TargetDir) и $(TargetExt) нет?

Я могу обойти эту проблему, используя событие post-build для переименования выходного файла, и затем У меня есть доступ к свойствам $(TargetDir) и $(TargetExt), но я бы хотел знать, почему компоновщик не получает правильную команду.

1 Ответ

0 голосов
/ 21 декабря 2011

Вам нужно отредактировать файл .wixproj и внести это изменение вне Visual Studio.Насколько я помню, Votive неправильно экранирует некоторые символы (AFAIR заменяет $ на $$).

...