2

使用 WiX 3.7,我想出了如何在根目录中创建文件夹。这个

  <Directory Id="ReceivedFilesDir" Name="ReceivedFiles">
    <Component Id="ReceivedFilesComponent" Guid="84A264EF-2BC5-41e3-8124-2CA10C2805DB">
      <CreateFolder Directory="ReceivedFilesDir">
        <Permission User="Administrators" GenericAll="yes" />
      </CreateFolder>
    </Component>
  </Directory>

创建一个文件夹C:\ReceivedFiles

我希望它D:\ReceivedFiles改为。

我该如何做到这一点?

我玩过这个DiskId属性,但它似乎没有做任何事情。

另外,我不想更改整个安装文件夹,安装的普通部分仍然在下面C:\Program Files (x86)。我只想在D:.

4

1 回答 1

3

这是我们用于基本相同需求的解决方案:

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

    <Directory Id="CROOT" Name="root">
        <Directory Id="MY_CROOT" Name="PLACE_HOLDER">
            <!-- Define C directory -->
        </Directory>
    </Directory>

    <Directory Id="TROOT" Name="root">
        <Directory Id="MY_TROOT" Name="PLACE_HOLDER">
            <!-- Define T directory -->
        </Directory>
    </Directory>
</Directory>

<CustomAction Id="SetCRootDirectory" Property="CROOT" Value="C:\" />
<CustomAction Id="SetTRootDirectory" Property="TROOT" Value="T:\" />

<InstallExecuteSequence>
    <Custom Action="SetCRootDirectory" Before="AppSearch" />
    <Custom Action="SetTRootDirectory" Before="AppSearch" />
</InstallExecuteSequence> 

如果您的安装利用了这一点,您可以将其添加到 UI 序列中。考虑到所有其余序列的定义方式,您可能需要将自定义操作之前的值设置为其他值。希望这是有用的。

于 2013-05-16T01:08:56.697 回答