Условия компонентов не оцениваются должным образом при применении исправления в wix

Условия компонента не оцениваются должным образом при применении исправления

У меня есть сценарий, где у меня есть два компонента с условиями. Файлы в этих компонентах имеют одинаковые имена, но разные версии. На основе свойств, переданных из начальной загрузки в MSI, оцениваются условия компонентов

 <Component Id="TestAppversionone" Guid="{F5472ED3-EF89-4B13-B595-A6F33F1DF9EE}" Transitive="Yes" >
    <File Id="wpfappversionone" Source="TestAPP\1.0.0.0\Testapplication11.exe"/>
    <Condition>
      VERSIONCHOSEN = VERSION_ONE
    </Condition>
  </Component>
  <Component Id="TestAppversiontwo" Guid="{85F1C55A-A25B-4D33-BEF1-0AA61DAA759E}" Transitive="Yes">
    <File Id="wpfappversiontwo" Source="TestAPP\2.0.0.0\Testapplication11.exe"/>
    <Condition>
     VERSIONCHOSEN = VERSION_TWO
    </Condition>
  </Component>

При установке установки на основе значения свойства VERSIONCHOSEN, переданного из начальной загрузки, устанавливается соответствующий компонент. В моем случае устанавливается первый компонент, и это правильно.

Но при применении исправления второй компонент устанавливается, хотя условие оценивается как ложное. Файл должен быть обновлен до версии 1.0.1.0. Где бы он не обновлялся до 2.0.1.0.

Мой код патча выглядит так, как показано ниже.

<Component Id="TestAppversionone" Guid="{F5472ED3-EF89-4B13-B595-A6F33F1DF9EE}" Transitive="Yes" >
    <File Id="wpfappversionone" Source="TestAPP\1.0.1.0\Testapplication11.exe"/>
    <Condition>
      VERSIONCHOSEN = VERSION_ONE
    </Condition>
  </Component>
  <Component Id="TestAppversiontwo" Guid="{85F1C55A-A25B-4D33-BEF1-0AA61DAA759E}" Transitive="Yes">
    <File Id="wpfappversiontwo" Source="TestAPP\2.0.1.0\Testapplication11.exe"/>
    <Condition>
     VERSIONCHOSEN = VERSION_TWO
    </Condition>
  </Component>

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

0 ответов

Другие вопросы по тегам