2015-05-13 1 views
0

Рассмотрим следующие .wxsWix: добавит ли идентификатор группы объектов под разные функции с разными условиями, удалит уже добавленные функции?

<Feature Id="Prod.Full" Level="1" Title="!(loc.FeatureAllFiles)"> 
    <Condition Level="0"><![CDATA[NOT((MYPRODINSTALLATIONTYPE ~= "FULL") OR (MYPRODINSTALLATIONTYPE ~=""))]]></Condition> 
    <FeatureGroupRef Id="FeatureGroup.FullA"/> 
    <FeatureGroupRef Id="FeatureGroup.FullB"/> 
    <FeatureGroupRef Id="FeatureGroup.FullC"/> 
</Feature> 

<Feature Id="Prod.AddCompFree" Level="1" Title="!(loc.FeatureAdditionalFiles)"> 
    <Condition Level="0"><![CDATA[NOT((MYPRODINSTALLATIONTYPE ~= "FREE") OR (MYPRODINSTALLATIONTYPE ~=""))]]></Condition> 
    <FeatureGroupRef Id="FeatureGroup.FullB"/> 
</Feature> 

Imagine я бегу с MYPRODINSTALLATIONTYPE MSI = полный

Будет Installtion есть все три полнометражных группы (FeatureGroup.FullA, "FeatureGroup.FullB," FeatureGroup. FullC)

или

будет FeatureGroup.FullB будет удален в установке?

ответ

1

Короткий ответ: FeatureGroup.FullB будет удален в установке

ответ: Когда действия CostInitialize/CostFinalize выполняются таблица Состояние обрабатывается в порядке: сверху -> снизу. не

Эта строка обрабатывается первым, а условие ложно (нет возможности установить в InstallLevel = 0)

<Feature Id="Prod.Full" Level="1" Title="!(loc.FeatureAllFiles)"> 
    <Condition Level="0"><![CDATA[NOT((MYPRODINSTALLATIONTYPE ~= "FULL") OR (MYPRODINSTALLATIONTYPE ~=""))]]></Condition> 
    <FeatureGroupRef Id="FeatureGroup.FullA"/> 
    <FeatureGroupRef Id="FeatureGroup.FullB"/> 
    <FeatureGroupRef Id="FeatureGroup.FullC"/> 
</Feature> 

Эта строка обрабатывается второй, и условие истинно (FeatureGroup.FullB имеет InstallLevel = 0)

<Feature Id="Prod.AddCompFree" Level="1" Title="!(loc.FeatureAdditionalFiles)"> 
    <Condition Level="0"><![CDATA[NOT MYPRODINSTALLATIONTYPE ~= "FREE"]]></Condition> 
    <FeatureGroupRef Id="FeatureGroup.FullB"/> 
</Feature> 
Смежные вопросы