2012-06-02 20 views

回答

52

將此文件夾定義是這樣的:

<Directory Id="TARGETDIR" Name="SourceDir"> 
    <Directory Id="CommonAppDataFolder"> 
     <Directory Id="TestFolder" Name="test"> 
      <Directory Id="ExampleFolder" Name="example" /> 
     </Directory> 
    </Directory> 
</Directory> 

這裏最重要的部分是CommonAppDataFolder ID,它是由Windows安裝程序聞名。您可以在Windows Installer Property Reference中找到已知系統文件夾的完整列表。

如果您將任何文件安裝到該文件夾​​,它將隱式創建。如果沒有,你可以迫使它通過安裝組件這樣創建:

<Component Id="CreateTestFolder" Directory="ExampleFolder" Guid="PUT-RANDOM-GUID-HERE"> 
    <CreateFolder /> 
</Component> 
+0

我得到這個錯誤使用時:'錯誤CNDL0205:編號爲的目錄'CommonAppDataFolder'不是有效的根目錄。 '(再加上關於每個產品只有一個根目錄的更多信息)。我究竟做錯了什麼? – noelicus

+0

@noelicus:在Windows安裝程序中,頂級父目錄必須始終爲TARGETDIR。我會更新我的答案來澄清這一點。 –

+0

@WimCoenen是否可以在安裝wix安裝程序期間複製文件夾/ files1..to..files5。 – Royal

11

<Product>您可以輸入:

<DirectoryRef Id="TARGETDIR"> 
     <Directory Id="CommonAppDataFolder"> 
     <Directory Id="CommonAppXXXX" Name="test"> 
      <Directory Id="CommonAppYYYY" Name="example"> 
      <Component Id="CreateProgramDataZZZ" Guid="ABC-ETC"> 
       <CreateFolder /> 
      </Component> 
      </Directory> 
     </Directory> 
     </Directory> 
    </DirectoryRef> 

和參考分量CreateProgramDataZZZfeature

它也可以幫助在目錄上這樣設置權限:

<CreateFolder> 
    <util:PermissionEx User="Users" GenericAll="yes" /> 
</CreateFolder> 

(代替<CreateFolder />

+0

任何人有想法創建文件夾和移動文件在同一文件夾? – Sudhakar

+0

使用User =上的WIX_ACCOUNT_USERS,因爲帳戶將在其他語言中更改。 – LeoPucciBr

相關問題