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 в том смысле, что он будет использовать все пути, указанные для поиска файлов.