2016-05-04 13 views
0

Ich möchte die Dateien abhängig davon, welche IIS installiert ist, bedingt bereitstellen. Bei jeder Bereitstellung werden beide Features bereitgestellt. bitte helfen ... Es folgt Teil des Codefragments ...Wix bedingt Fragment bereitstellen

<Product Id="*" Name="Patch Management" Language="1033" Version="1.0.0.0" Manufacturer="Start tech" UpgradeCode="739a025e-0758-4926-9528-2ad9a026e77a" Codepage="1252"> 
    <Package Id="*" Compressed="yes" InstallScope="perMachine" Manufacturer="Star tech" Description="Server" Comments="(c)2016 Star tech" InstallPrivileges="elevated" AdminImage="yes"></Package> 
    <Property Id="IIS_MAJORVERSION"> 
     <RegistrySearch Id="RS_IIS_MAJORVERSION_2" Root="HKLM" Key="SOFTWARE\Microsoft\InetStp" Name="MajorVersion" Type="raw"> 
     </RegistrySearch> 
    </Property> 
    <Feature Id="ServerFeature" Title="Server Feature" Level="1"> 
     <ComponentGroupRef Id="EXETXT_CMPGRP" /> 

     <Feature Id="ServerSite" Title="Server Feature" Level="1"> 
      <ComponentGroupRef Id="IISWEB_CMPGRP"/> 
      <Condition Level="0"><![CDATA[IIS_MAJORVERSION="#5"]]]></Condition> 
     </Feature> 
     <Feature Id="ServerSiteIIS5" Title="Server Feature IIS5 " Level="1"> 
      <ComponentGroupRef Id="IISWEB_CMPGRP_5"/> 
      <Condition Level="0"><![CDATA[IIS_MAJORVERSION<>"#5"]]]></Condition> 
     </Feature> 
    </Feature> 
</Product> 

Antwort

0

Ich stelle mir dies geschieht, weil Sie Ihre Funktionen unter einer übergeordneten Funktion eingebettet.

Das InstallDefault Attribut des Feature Elements hat 3 Werte. Ich denke, der Standardwert ist folgeParent, so dass diese Features unabhängig von der Bedingung in ihnen installiert werden müssen. Ich denke, Sie können das beheben, indem Sie den InstallDefault auf Quelle oder lokal setzen (ungetestet von mir, Sie müßten einen Kommentar hinterlassen, wenn einer funktioniert!) Oder die Merkmale nicht ineinander verschachteln. Wenn Sie in der Installationsbenutzeroberfläche keine Featurebaumstruktur anzeigen, macht dies für den Benutzer keinen Unterschied, ob alle Ihre Features zusammenpassen oder nicht. Sie können Ihre Features auch in einer logischen Einheit unter Verwendung des <FeatureGroup> Elements gruppieren.