5

我有一个MSI文件,它正在安装一个文件夹,里面有一堆文件。我有一个放置文件的位置:

Windows XP: C:\Documents and Settings\所有用户\Documents\MyFolder

Windows 7: C:\Users\Public\Documents\MyFolder

问题是我不想硬编码这些路径,但无论我在哪里看,我都无法找到如何做到这一点,因为无论我看哪里,他们都在谈论为所有用户创建快捷方式,这不是我想要的做。如何将文件夹安装到“所有用户”位置?

像这样的东西:

<PropertyRef Id="WIX_DIR_COMMON_DOCUMENTS" />

<Directory Id="TARGETDIR" Name="SourceDir">
  <Directory Id="WIX_DIR_COMMON_DOCUMENTS">
    <Directory Id="MyFolder" Name="MyFolder">
4

1 回答 1

8

Windows Installer 没有该文件夹的属性,但 WiX 提供的自定义操作有。

根据OSInfo 自定义操作的文档:

  1. 引用链接器的 WixUtilExtension 扩展。
  2. 通过引用定义属性:

    <PropertyRef Id="WIX_DIR_COMMON_DOCUMENTS" />
    

然后,在目录下的某处定义TARGETDIR目录。例如:

    <Directory Id="TARGETDIR" Name="SourceDir">
      <Directory Id="WIX_DIR_COMMON_DOCUMENTS">`
        <Directory Id="MyFolder" Name="MyFolder" />`
      </Directory>`
    </Directory>`
于 2013-07-01T17:33:21.897 回答