Pas beaucoup de détails dans la question, donc je vais devoir deviner un peu. Vous pouvez traiter les répertoires comme des propriétés. Donc, vous pourriez faire quelque chose comme:
<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>
Cela ne peut pas être tout à fait correct, mais il vous approcher. Vous pouvez également utiliser un élément CustomAction qui utilise les attributs Directory et Value pour rediriger si le mécanisme Property ne fonctionne pas parfaitement.
Aussi, comme d'autres l'ont mentionné. C'est bizarre. Je suggère de supprimer l'exigence du produit. ;)
Quelle est votre raison pour cela? Ce n'est pas une bonne idée. –
J'ai deux environnements différents. Pour chacun des environnements, les fichiers binaires compilés doivent être organisés différemment. – Yuri