使用wix复制目录结构

时间:2011-05-24 07:08:54

标签: windows wix windows-installer wix3 heat

所以我有一个巨大的文件结构,我希望安装程序,我正在使用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>

我担心的是,由于热量生成的Component的Directory字段中存在一些随机字符串,我不会复制目录结构。这是真的?有办法解决这个问题吗?

1 个答案:

答案 0 :(得分:3)

来自heat /?输出:

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

如果使用heat来递归收集目录结构,则-dr开关将设置根目标文件夹的ID。此ID应与您在wxs文件中指定的Directory元素的ID匹配。

对于收获的子文件夹,加热仍会产生随机ID。给定的ID将在生成的XML文件中多次出现:

  1. 在由子文件夹加热生成​​的Directory元素中,作为Id属性。

  2. 在与该文件夹相关联的Component元素中,作为Directory属性。

  3. 该ID仅用于将Component个元素与Directory元素相关联。 它不是安装后显示的文件夹名称。它仅用作Windows Installer数据库中的密钥。