Не много деталей в вопросе, поэтому мне придется немного угадать. Вы можете обращаться со Каталогами так же, как и с Свойствами. Итак, вы можете сделать что-то вроде:
<Directory Id="TARGETDIR" Name="SourceDir">
<Directory Id="ProgramFilesFolder" Name="PFiles">
<Directory Id="AppFolder" Name="PFiles">
<Directory Id="BinFolder" Name="Bin">
<Directory Id="Dir1" Name="Dir1" />
<Directory Id="Dir2" Name="Dir2" />
</Directory>
<Directory Id="LibFolder" Name="Lib">
<Directory Id="Dir3" Name="Dir3" />
</Directory>
</Directory>
</Directory>
</Directory>
<SetProperty Id="BinFolder" Value="[AppFolder]" After="CostFinalize">HOW_EVER_USER2_DETECTED</SetProperty>
<SetProperty Id="LibFolder" Value="[Dir2]" After="CostFinalize">HOW_EVER_USER2_DETECTED</SetProperty>
Это может быть и не совсем корректно, но это поможет вам приблизиться. Вы также можете использовать элемент CustomAction, который использует атрибуты Directory и Value для перенаправления, если механизм Property не работает отлично.
Также, как и другие упомянули. Это странно. Я предлагаю удалить требование из продукта. ;)
Какова ваша причина для этого? Это не очень хорошая идея. –
У меня две разные среды. Для каждой из сред скомпилированные двоичные файлы должны быть расположены по-разному. – Yuri