Wix - связь между каталогом heatdirectory и препроцессором

Я использую высокую температуру, чтобы собрать свой проект, но меня смущает связь между определенной переменной препроцессора в Visual Studio, например: SourceDir=$(SolutionDir)MyProject, < HeatDirectory> Directory=var.SourceDir а также <HeatDirectory> Directory=$(SolutionDir)MyProject

Какой из них определяет исходный каталог, который будет собираться? Мне кажется, что переменная препроцессора, переменная / определенная препроцессором в VS, перезаписывает каталог в HeadDirectory.

Это правильно?

1 ответ

Решение

Одна вещь, чтобы выяснить, когда вы звоните heatкаталог, который вы соберете, будет предоставлен через аргумент командной строки heat, SourceDir является заполнителем пути, по которому вы найдете фактические собранные файлы относительно каталога, который вы выбрали для сбора.

Он определяется переменной препроцессора или указанным вами путем light с использованием -b вариант.

Когда вы звоните heat, вы можете сказать, какую переменную заменить SourceDir с и когда вы звоните candleВы определите это.

Пример:

heat dir [options] -var var.MyProjectDir <dir to harvest>

создаст файл.wxs с $(var.MyProjectDir) на месте SourceDir

Когда вы звоните candle:

candle [options] -dMyProjectDir=<my project path> <wxs files>

С использованием -d опция позволит вам определить значение переменной препроцессора и ссылаться на него при компиляции файлов фрагментов.

Если вы не используете -var а также -d варианты heat а также candle, ты можешь использовать -b в light и WiX будет использовать это, чтобы попытаться разрешить файлы, используя эти пути. По сути, он действует как переменная окружения PATH в том смысле, что он будет использовать все пути, указанные для поиска файлов.

Другие вопросы по тегам