Wix:更改安装文件夹树

问题描述:

我有一组文件夹要安装在不同用户的不同布局中。对于examle:Wix:更改安装文件夹树

User1: 
    AppFolder 
     Dir1 
     Dir2 
      Dir3 

    User2: 
    AppFolder 
     Bin 
      Dir1 
      Dir2 
     Lib 
      Dir3 

它怎么可能?

+0

你这样做的原因是什么?这不是一个好主意。 – 2010-03-22 15:47:23

+0

我有两种不同的环境。 对于每种环境,编译后的二进制文件应该进行不同的排列。 – Yuri 2010-04-07 07:22:13

问题中没有很多细节,所以我不得不猜测一下。您可以像处理属性一样处理目录。所以,你可以这样做:

<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> 

这可能不完全正确的,但它会让你接近。如果Property机制无法正常工作,您可能还会考虑使用CustomAction元素,该元素使用Directory和Value属性进行重定向。

另外,像其他人所说的。这很奇怪。我建议从产品中删除要求。 ;)