Wix - Как заставить скрытую функцию установить при изменении / переустановке - PullRequest
0 голосов
/ 21 октября 2019

У меня есть функция, показанная ниже

<Feature Id="F_PRODUCT_INSTALLROOT"
          Title="!(loc.F_ProductSetup.Title)"
          Level="1"
          TypicalDefault="install"
          Description="!(loc.F_ProductSetup.Description)"
          AllowAdvertise="no"
          Absent="disallow" >
  <ComponentGroupRef Id="cgrp_Registry_SetupSettings_1"/>
  <ComponentGroupRef Id="cgrp_Registry_SetupSettings_2"/>
</Feature>

Все группы компонентов записываются в реестр. При первой установке настройки записываются в реестр как положено. Когда пользователь повторно запустит ту же настройку и нажмет на изменение, он должен иметь возможность изменить значения реестра. Но функция не получает установки и параметры реестра не обновляются. вот журнал:

MSI (s) (D4: 24) [11: 36: 46: 311]: Добавление: F_PRODUCT_INSTALLROOT;Установлено: Локальное;Запрос: Null;Действие: Null

Вот группа реестра, которую я пытаюсь обновить при изменении / переустановке

<ComponentGroup Id="cgrp_Registry_SetupSettings_1" Directory="DIR_COMMON_DEFAULT">
  <!--Write gateway options-->
  <Component Id="cmp_Registry_SetupSettings_1" Guid="guid" Win64="yes" Transitive="yes">
    <RegistryKey Root='HKLM' Key='SOFTWARE\$(var.ProductSetupFullRegRoot)' ForceCreateOnInstall='yes' ForceDeleteOnUninstall='no'>
      <RegistryValue Name='xyz' Value='[xyz]' Type='string' />

    </RegistryKey>
  </Component>

Я уже ищу, но не могу найти какое-либо работающее решение.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...