2015-05-29 21 views
0

У меня есть плагин (сервис, который работает в фоновом режиме), который мне нужно установить на разных компьютерах. И мне нужно установить другую версию службы, на основе которой они были установлены .Net.Best Practice WIX Условные версии версий программного обеспечения

.Net 3.5 получает 3.5 версию плагина .Net 4.5 получает 4.5 версию плагина и т.д.

Я знаю, как определить версию .Net в WIX, используя различные NetFramework ... свойства, но я у меня возникли проблемы с установкой всех версий плагина вместо той, которую я хочу.

<Feature Id="ProductFeature451" Title="Plugin" Level="1"> 
      <Condition Level="1"> 
       <![CDATA[REMOVE~="ALL" OR (NETFRAMEWORK45 >= "#378675")]]> 
      </Condition> 
      <ComponentGroupRef Id="ProductComponents451" /> 
     </Feature> 

     <Feature Id="ProductFeature40" Title="Plugin" Level="1"> 
      <Condition Level="1"> 
       <![CDATA[REMOVE~="ALL" OR (NETFRAMEWORK45 < "#378675" AND NETFRAMEWORK40FULL) ]]> 
      </Condition> 
      <ComponentGroupRef Id="ProductComponents40" /> 
     </Feature> 

     <Feature Id="ProductFeature351" Title="Plugin" Level="1"> 
      <Condition Level="1"> 
       <![CDATA[REMOVE~="ALL" OR (NETFRAMEWORK35 AND NOT NETFRAMEWORK45 AND NOT NETFRAMEWORK40FULL) ]]> 
      </Condition> 
      <ComponentGroupRef Id="ProductComponents351" /> 
     </Feature> 

Я пробовал использовать «Установленный» вместо REMOVE ~ = «ALL», но та же проблема. У меня есть неправильное место?

В более ранних попытках я столкнулся с проблемами «ссылок на ссылки», потому что я пытался установить различные плагины в один и тот же каталог, поэтому теперь я пытаюсь установить в разные каталоги на основе версии плагина.

На самом деле это не конец света для установки всех версий, но мне нужно, чтобы служба была создана/запущена только для правильной версии.

Любые идеи?

ответ

0

Хорошо, я понял вопрос.

Функции, необходимые для начала работы с Level = "0" (не установлены). Тогда условие будет отмечать их как Level = "1", когда встречается и, следовательно, будет установлено.

<Feature Id="ProductFeature351" Title="Plugin" Level="0"> 
      <Condition Level="1"> 
       <![CDATA[REMOVE~="ALL" OR (NETFRAMEWORK35 AND NOT NETFRAMEWORK45 AND NOT NETFRAMEWORK40FULL) ]]> 
      </Condition> 
      <ComponentGroupRef Id="ProductComponents351" /> 
     </Feature> 
Смежные вопросы