wix - правильное состояние - PullRequest
0 голосов
/ 10 июня 2011

У меня есть 3 функции в моем wix-проекте. Когда пользователь выбирает feature1 или feature2, мне нужно установить copmonent1. И в случае, если пользователь выбирает функцию 3, мне нужно установить компонент 2. Я понял это с помощью кода вроде следующего:

<Component Id="component1" GUID="">

  <Condition><![CDATA[(&feature1=3) Or (&feature2=3)]]></Condition>
   <RegistryKey Action="createAndRemoveOnUninstall" ...
    ...
</Component>
<Component Id="component2" GUID="">
  <Condition><![CDATA[(&feature3=3)]]></Condition>
   <RegistryKey Action="createAndRemoveOnUninstall" ...
    ...
</Component>

Я не могу просто сделать две ссылки на component1 из функций 1 и 2. Потому что когда пользователь выберет функции 1 и 3, мне нужно установить только второй компонент, а не устанавливать первый.

Я не могу понять, моя строка условия неверна? Потому что после установки продукта нет записи в реестре от выбранного компонента. С наилучшими пожеланиями ..

Ответы [ 2 ]

1 голос
/ 10 июня 2011

Состояния элементов в условиях компонента не будут работать. Подробнее см. http://www.joyofsetup.com/2008/04/09/feature-states-in-component-conditions/.

0 голосов
/ 10 июня 2011

Обычно это делается с помощью таблицы FeatureComponents :

  • component1 может быть добавлено в Feature1, а Feature2
  • component2 может быть добавлено в Feature3

Я не нашел информации о том, как Wix обрабатывает эту таблицу, поэтому я не уверен, что у вас есть прямая поддержка для нее.

...