Как добавить / изменить элементы WIX в files.wxs, сгенерированных CPack? - PullRequest
0 голосов
/ 09 июля 2020

Я использую CMake, CPack и Wix. CPack генерирует файлы:

  • directoryies.wxs,
  • files.wxs,
  • main.wxs,
  • и другие ...

Я знаю, что могу использовать Wix Patch для изменения файлов, сгенерированных CPack, например, Wix Patch следующим образом:

<CPackWiXPatch>
    <CPackWiXFragment Id="CM_DP_lib">
        <Component Id="EnvPath" Guid="">
            <CreateFolder />
            <Environment Action="set" Id="PathEnv" Name="MY_ENV_VAR" Separator=";" System="yes" Value="[INSTALL_ROOT]/lib"/>
        </Component>
    </CPackWiXFragment>
    <CPackWiXFragment Id="#PRODUCTFEATURE">
        <ComponentRef Id="EnvPath" />
    </CPackWiXFragment>
</CPackWiXPatch>

Приведет к измененным каталогам. Wxs

<Directory Id="CM_DP_lib" Name="lib">
    <Component Guid="1fe759ee-2691-47a7-b0b3-aef2137a8c78" Id="EnvPath">
       <CreateFolder/>
       <Environment Action="set" Id="UObjectPathEnv" Name="MY_ENV_VAR" Separator=";" System="yes" Value="[INSTALL_ROOT]lib"/>
    </Component>

В этом случае мне пришлось явно указать, к какому элементу (CM_DP_lib) я хочу добавить элемент (EnvPath). Есть ли способ добавить элементы ко всем файлам или каталогам, перечисленным в files.wxs, directoryies.wxs?

...