Условия компонентов не оцениваются должным образом при применении исправления в wix - PullRequest
0 голосов
/ 15 декабря 2018

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

У меня есть сценарий, в котором у меня есть два компонента с условиями.Файлы в этих компонентах имеют одинаковые имена, но разные версии.На основании свойств, переданных из начальной загрузки в 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>

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

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