2011-05-24 111 views
3

因此,我有一個龐大的文件結構,我希望安裝程序(我正在使用wix構建)複製到客戶端位置。目前我輸入如下:使用wix複製目錄結構

<Directory Id="xyz" Name = "abc FileSource = "sdfsdf"> 
    <Component Id="asdas" Guid="asdasd"> 
     <File Id = "asdfgrs" Name="name" /> 
    </Component> 
</Directory> 

隨着文件數量的增加,我希望以自動的方式完成。使用熱我能夠產生:

<ComponentGroup Id="weqw"> 
    <Component Id="2132312" Directory="Some random string (cause of concern>" Guid="asdasd"> 
     <File Id="sdqwdqwd> keyPath="yes" Source = "Correct source path" /> 
    </Component> 
<ComponentGroup> 

我擔心的是,由於產生的熱量在組件目錄領域的一些隨機字符串的情況下,我不會得到複製的目錄結構。這是真的?有沒有解決的辦法?

回答

3

heat /?輸出:

-dr  directory reference to root directories (cannot contains spaces 
     e.g. -dr MyAppDirRef) 

如果使用熱遞歸收穫的目錄結構,則-dr開關將設置根目標文件夾的ID。此ID應與您在wxs文件中其他位置指定的Directory元素的ID匹配。

對於收穫的子文件夾,熱量仍然會生成一個隨機ID。一個給定的ID將所生成的XML文件中出現多次:

  1. 在通過加熱該子文件夾中生成的Directory元件,作爲Id屬性。

  2. 在與該文件夾關聯的Component元素中,爲Directory屬性。

該ID僅用於Component元件鏈接到Directory元件。 它不是安裝後出現的文件夾名稱。它僅用作Windows Installer數據庫中的一個鍵。