2010-03-21 146 views
0

我有一組文件夾要安裝在不同用戶的不同佈局中。對於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

回答

0

問題中沒有很多細節,所以我不得不猜測一下。您可以像處理屬性一樣處理目錄。所以,你可以這樣做:

<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屬性進行重定向。

另外,像其他人所說的。這很奇怪。我建議從產品中刪除要求。 ;)