2011-05-24 172 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数据库中的一个键。