2016-05-04 20 views
0

インストールされているIISに応じてファイルを条件付きで展開します。 私がそれを配備するたびに、両方の機能が配備されます。 助けてください...続き を使用すると、親機能の下で、あなたの機能を埋め込まれたので、私はこれが起こっている想像...Wixは条件付きでフラグメントを展開します

<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> 

答えて

0

コードフラグメントの一部です。

フィーチャーエレメントのInstallDefault属性には3つの値があります。私は、デフォルト値はfollowParentだと思うので、これらの機能は条件に関係なくインストールする必要があります。私はInstallDefaultをソースまたはローカルに設定することでこれを解決できると思います。(私がテストしていない場合は、コメントを残しておいてください!)、または相互に機能を入れ子にしないでください。インストールUIに機能ツリーを表示しない限り、すべての機能が共存するかどうかにかかわらず、ユーザーには違いはありません。また、<FeatureGroup>要素を使用して、機能を論​​理ユニットにグループ化することもできます。