如何创建在维克斯目录?(How to create a directory in wix?)

2019-06-25 02:29发布

我的要求是建立在programdata /测试/例子目录。 我怎样才能做到这一点在WiX的?

Answer 1:

这样定义的文件夹:

<Directory Id="TARGETDIR" Name="SourceDir">
    <Directory Id="CommonAppDataFolder">
        <Directory Id="TestFolder" Name="test">
            <Directory Id="ExampleFolder" Name="example" />
        </Directory>
    </Directory>
</Directory>

这里最重要的部分是CommonAppDataFolder ID,它是由Windows安装程序闻名。 你可以找到在已知的系统文件夹的完整列表, Windows安装程序属性参考 。

如果你安装任何文件到该文件夹​​,它会隐式地创建。 如果没有,你可以迫使它通过安装这样的组件来创建:

<Component Id="CreateTestFolder" Directory="ExampleFolder" Guid="PUT-RANDOM-GUID-HERE">
    <CreateFolder />
</Component>


Answer 2:

<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>

并引用组件CreateProgramDataZZZ在你的feature

它也可以帮助在这样的目录设置权限:

<CreateFolder>
    <util:PermissionEx User="Users" GenericAll="yes" />
</CreateFolder>

(代替<CreateFolder />



Answer 3:

这将创建文件夹,你...

<Directory Id="DIR_ID" Name="DIR_NAME">
    <Component Guid="GUID" Id="id" KeyPath="no" NeverOverwrite="no" Permanent="no" Location="local">
        <CreateFolder>
            <util:PermissionEx CreateChild="yes" CreateFile="yes" Delete="yes" Read="yes" ReadAttributes="yes" ReadExtendedAttributes="yes" ReadPermission="yes" Traverse="yes" GenericRead="yes" GenericWrite="yes" User="Everyone" />
        </CreateFolder>
    </Component>
</Directory>


文章来源: How to create a directory in wix?