【问题标题】:Wix 3.5 to create folder outside of Installation RootWix 3.5 在安装根目录之外创建文件夹
【发布时间】:2026-01-15 05:45:01
【问题描述】:

如何使用 Wix v3.5 在我的正常安装路径之外创建文件夹?

下面为我的根安装创建文件夹。

<Directory Id="TARGETDIR" Name="SourceDir">

  <Directory Id="INSTALLLOCATION" Name="FolderName">

  </Directory>
 </Directory>

例如,如果用户选择 c:,那么这将安装到 c:\FolderName

我需要在 C: 本身中创建其他文件夹。我怎样才能做到这一点?

干杯

【问题讨论】:

    标签: installation wix wix3.5


    【解决方案1】:

    没有什么可以阻止您将另一个 Directory 元素与 INSTALLLOCATION 并排定义。确保适当的组件然后引用该文件夹,您最终会在那里获得必要的文件:

    <Directory Id="TARGETDIR" Name="SourceDir">
      <Directory Id="INSTALLLOCATION" Name="FolderName">
       ...
      </Directory>
      <Directory Id="ANOTHERLOCATION" Name="SecondFolderName">
       ...
      </Directory>
    </Directory>
    

    更新:下面添加了一个带有 CreateFolder 元素的示例。

    <DirectoryRef Id="ANOTHERLOCATION">
      <Component Id="comp1" Guid="GUID-HERE" KeyPath="yes">
        <CreateFolder />
      </Component>
    </Directory>
    

    【讨论】:

    • 但我有以下内容,但它没有创建
    • 我忘了说我只想创建那些没有在组件或任何地方引用它们的空目录。
    • 如果您想创建空文件夹,您必须为每个创建一个组件,将其放在所需的文件夹下并创建一个 元素,否则文件夹将获胜'不被创建。
    • 如何将路径值分配给ANOTHERLOCATION,例如如果我希望它是D:\MyFolder1\MyFolder2
    • @MykhailoSeniutovych,就像任何其他财产一样:msiexec.exe /i "C:\Example.msi" ANOTHERLOCATION="D:\MyFolder1\MyFolder2"
    最近更新 更多