【问题标题】:WIX:default directory in WixUI_InstallDirWIX:WixUI_InstallDir 中的默认目录
【发布时间】:2021-08-25 18:06:43
【问题描述】:

WixUI_InstallDir 中的默认目录始终为 D:。如何将其更改为目录 C:?

它也没有显示我在 .wxs 文件中定义的目录结构。它只显示 D:。它实际上应该显示 'D:\folder1\folder2'。这是为什么 ?我需要做什么来显示目录结构?

   <Property Id="ROOTDRIVE"><![CDATA[C:\]]></Property>
        <Directory Id="TARGETDIR" Name="SourceDir">
          <Directory Id="ProgramFilesFolder">
            <Directory Id='E' Name='E'>
               <Directory Id="dirm" Name="E Mrch">
                   <Component></Component>
               </Directory>
            </Directory>
          </Directory>
        </Directory>

【问题讨论】:

  • 能否贴出相关的xml,让我们帮忙?
  • 我已经添加了 XML。我可以通过使用 rootdrive 属性将默认驱动器更改为 C:。但它仍然没有显示目录结构,即“C:\programfiles\EFI\EFI Monarch”。它只显示 C 驱动器,即“C:”。我怎么做?如果系统根本没有“C”盘会怎样?
  • 我刚刚学到的一件事(痛苦地)是,如果你使用 ProgramFilesFolder,那么 ROOTDRIVE 就变得无关紧要了,因为 Program Files 本身就有一个驱动器,它在路径组合时会覆盖任何 ROOTDRIVE 设置。

标签: wix


【解决方案1】:

您可以在产品定义中使用以下属性:

    <Property Id="WIXUI_INSTALLDIR" Value="INSTALLDIR"/>

INSTALLDIR 可以这样定义

<Directory Id="ProgramFilesFolder">
    <Directory Id="MySoftware" Name="MySoftware">
      <Directory Id="INSTALLDIR" Name="MyProduct">
      </Directory>
    </Directory>
</Directory>

【讨论】:

    【解决方案2】:

    默认情况下,TARGETDIR(和 ROOTDRIVE,但没有人使用它)默认为机器上最大的驱动器。请参阅 ligget78 的回答来解决这个问题。

    【讨论】:

      猜你喜欢
      • 2016-11-10
      • 2019-08-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-07-11
      相关资源
      最近更新 更多