2

我已经生成了一个 msi,我希望能够更改其默认安装目录,并且我知道您可以使用命令行参数更改 WIX 属性,但我似乎无法像这样为 TARGETDIR 工作:

安装程序.msi TARGETDIR=C:\

我的目录片段是:

<Fragment>
    <Directory Id="TARGETDIR" Name="SourceDir">
      <Directory Id="SystemFolder"/>

      <!-- Desktop-->
      <Directory Id="DesktopFolder"/>

      <Directory Id="ProgramFilesFolder">
        <Directory Id="DIR_Company" Name="Company Name">
          <Directory Id="DIR_SubDir" Name="Sub Directory" >
            <Directory Id="INSTALLDIR" Name="My Product">
              <Directory Id="DIR_ONE" Name="ONE"  />
              <Directory Id="DIR_TWO" Name="TWO" />
              <Directory Id="DIR_THREE" Name="THREE" />
            </Directory>
          </Directory>
        </Directory>
      </Directory>
    </Directory>

  </Fragment>

这是不可能的,还是我的语法?

4

1 回答 1

4

我怀疑这是因为您的目录层次结构中有预定义的文件夹,例如ProgramFilesFolder. 即使您TARGETDIR通过命令行设置,它也会被您的程序文件的众所周知的位置覆盖,并且所有子文件夹都变得相对。

作为一种解决方法,您可以INSTALLDIR从命令行进行设置。如果您为其提供完整路径,它将覆盖您在 WiX 创作中定义的初始层次结构。

于 2012-10-31T15:20:52.777 回答