仅为特定安装(功能)级别创建目录

时间:2013-06-25 00:48:35

标签: directory wix installation windows-installer

我正在用WiX创建一个msi。如果安装级别高于1,我只想创建某些目录。这是我的目录结构:

<!--DIRECTORIES-->
<Directory Id="TARGETDIR" Name="SourceDir">
  <Directory Id="ProgramFilesFolder">
    <Directory Id="INSTALLFOLDER" Name="Product" />
    <Directory Id="Documents" Name="Documents">
      <Directory Id="Help" Name="Help" />
      <Directory Id="Other" Name="Other" />
    </Directory>
  </Directory>
  <Directory Id="ProgramMenuFolder">
    <Directory Id="Shortcuts" Name="Product">
      <Directory Id="DocumentShortcuts" Name="Documents">
        <Directory Id="HelpShortcut" Name="Help"/>
        <Directory Id="OtherShortcut" Name="Other"/>
      </Directory>
    </Directory>
  </Directory>
</Directory>

如果安装级别高于1,我只希望在开始菜单上创建“DocumentShortcuts”目录。任何建议都将非常感谢!

1 个答案:

答案 0 :(得分:4)

目录元素只定义目录结构,而不是任何应该创建它们的指令。 Windows Installer仅在需要时创建目录:

  1. 正在将文件安装到目录(组件和文件元素)
  2. 明确告知安装程序创建目录(Component和CreateFolder元素)
  3. 需要根据原因1和/或2创建子目录。
  4. 然后,需要使用ComponentRef元素(或间接通过ComponentGroup和ComponentGroupRef元素)将包含所述资源的组件元素链接到Feature元素。