2010-03-21 26 views
0

J'ai un ensemble de dossiers à installer dans différentes mises en page pour différents utilisateurs. Par exemple:Wix: modification de l'arborescence des dossiers d'installation

User1: 
    AppFolder 
     Dir1 
     Dir2 
      Dir3 

    User2: 
    AppFolder 
     Bin 
      Dir1 
      Dir2 
     Lib 
      Dir3 

Comment c'est possible?

+0

Quelle est votre raison pour cela? Ce n'est pas une bonne idée. –

+0

J'ai deux environnements différents. Pour chacun des environnements, les fichiers binaires compilés doivent être organisés différemment. – Yuri

Répondre

0

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. ;)