Подтвердить что ты не робот

Как создать каталог в wix?

Мое требование - создать каталог в programdata/test/example. Как я могу сделать это в wix?

4b9b3361

Ответ 1

Определите папку следующим образом:

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

Важной частью здесь является идентификатор CommonAppDataFolder, который известен установщику Windows. Полный список известных системных папок можно найти в Справочник свойств установщика Windows.

Если вы установите какие-либо файлы в эту папку, они будут созданы неявно. Если нет, вы можете заставить его создать, установив такой компонент:

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

Ответ 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 />)