如何在wix中创建目录?

Pra*_*ash 31 installer windows-installer wix wix3.5

我的要求是在programdata/test/example中创建一个目录.我怎么能在wix中这样做?

Wim*_*nen 60

像这样定义文件夹:

<Directory Id="TARGETDIR" Name="SourceDir">
    <Directory Id="CommonAppDataFolder">
        <Directory Id="TestFolder" Name="test">
            <Directory Id="ExampleFolder" Name="example" />
        </Directory>
    </Directory>
</Directory>
Run Code Online (Sandbox Code Playgroud)

这里的重要部分是CommonAppDataFolderId,Windows安装程序已知.您可以在Windows Installer属性参考中找到已知系统文件夹的完整列表.

如果您将任何文件安装到该文件夹​​,则会隐式创建它.如果没有,您可以通过安装如下组件来强制创建它:

<Component Id="CreateTestFolder" Directory="ExampleFolder" Guid="PUT-RANDOM-GUID-HERE">
    <CreateFolder />
</Component>
Run Code Online (Sandbox Code Playgroud)


noe*_*cus 13

<Product>你可以输入:

   <DirectoryRef Id="TARGETDIR">
      <Directory Id="CommonAppDataFolder">
        <Directory Id="CommonAppXXXX" Name="test">
          <Directory Id="CommonAppYYYY" Name="example">
            <Component Id="CreateProgramDataZZZ" Guid="ABC-ETC">
              <CreateFolder />
            </Component>
          </Directory>
        </Directory>
      </Directory>
    </DirectoryRef>
Run Code Online (Sandbox Code Playgroud)

并参考CreateProgramDataZZZ你的组件feature.

在目录上设置权限也是有帮助的,如下所示:

<CreateFolder>
    <util:PermissionEx User="Users" GenericAll="yes" />
</CreateFolder>
Run Code Online (Sandbox Code Playgroud)

(代替<CreateFolder />)