As I understand it, a feature can have only one parent. If you want to use control events, something like this (borrowed from Arun) should work:
In the <Control id=Next Add <Publish Event="Addlocal" Value="F0,F2"><![CDATA[(PKGTYPE="A")]]></Publish> <Publish Event="Addlocal" Value="F0,F1"><![CDATA[(PKGTYPE="B")]]></Publish> <Publish Event="Addlocal" Value="F1,F2"><![CDATA[(PKGTYPE="C")]]></Publish> <Publish Event="Remove" Value="F1"><![CDATA[(PKGTYPE="A")]]></Publish> <Publish Event="Remove" Value="F2"><![CDATA[(PKGTYPE="B")]]></Publish> <Publish Event="Remove" Value="F0"><![CDATA[(PKGTYPE="C")]]></Publish> Possibly even better (instead of the above), if you want just the PKGTYPE property to always control the features (so you can also set the package type from the command-line and you won't be required to use the UI): <Feature Id="F0" Level="32767"/> <Feature Id="F1" Level="32767"/> <Feature Id="F2" Level="32767"/> <Property Id="PKGTYPE" Secure="yes"/> <!-- Package A --> <SetProperty Id="AddLocalPkgAFeatures" Value="F0,F2" Sequence="both" Before="SetRemovePkgAFeatures">PKGTYPE="A" AND NOT REMOVE=ALL AND Preselected!=1</SetProperty> <SetProperty Id="RemovePkgAFeatures" Value="F1" Sequence="both" Before="SetAddLocalPkgBFeatures">PKGTYPE="A" AND NOT REMOVE=ALL AND Preselected!=1</SetProperty> <!-- Package B --> <SetProperty Id="AddLocalPkgBFeatures" Value="F0,F1" Sequence="both" Before="SetRemovePkgBFeatures">PKGTYPE="B" AND NOT REMOVE=ALL AND Preselected!=1</SetProperty> <SetProperty Id="RemovePkgBFeatures" Value="F2" Sequence="both" Before="SetAddLocalPkgCFeatures">PKGTYPE="B" AND NOT REMOVE=ALL AND Preselected!=1</SetProperty> <!-- Package C --> <SetProperty Id="AddLocalPkgCFeatures" Value="F1,F2" Sequence="both" Before="SetRemovePkgCFeatures">PKGTYPE="C" AND NOT REMOVE=ALL AND Preselected!=1</SetProperty> <SetProperty Id="RemovePkgCFeatures" Value="F0" Sequence="both" Before="SetADDLOCAL">PKGTYPE="C" AND NOT REMOVE=ALL AND Preselected!=1</SetProperty> <!-- Actually set the features based on the above table --> <SetProperty Id="ADDLOCAL" Value="[AddLocalPkgAFeatures][AddLocalPkgBFeatures][AddLocalPkgCFeatures]" Sequence="both" Before="SetREMOVE">AddLocalPkgAFeatures OR AddLocalPkgBFeatures OR AddLocalPkgCFeatures</SetProperty> <SetProperty Id="REMOVE" Value="[RemovePkgAFeatures][RemovePkgBFeatures][RemovePkgCFeatures]" Sequence="both" Before="CostInitialize">RemovePkgAFeatures OR RemovePkgBFeatures OR RemovePkgCFeatures</SetProperty> -----Original Message----- From: akihiro.shib...@jp.yokogawa.com [mailto:akihiro.shib...@jp.yokogawa.com] Sent: Tuesday, November 24, 2009 5:14 PM To: wix-users@lists.sourceforge.net Subject: Re: [WiX-users] Select features on UI Is Conditions changed to Features ? <Feature Id="A"> <FeatureRef Id="F0" /> <FeatureRef Id="F2" /> </Feature> <Feature Id="B"> <FeatureRef Id="F0" /> <FeatureRef Id="F1 /> </Feature> <Feature Id="C"> <FeatureRef Id="F1" /> <FeatureRef Id="F2 /> </Feature> : "F0", "F1", ... have multiple parents feature. Can I construction? I seems a feature/compornent cannot have multiple parents features/compornents. May I tell me good idea ? thanks, Akihiro, Shibuta. > -----Original Message----- > From: Arun Perregatturv [mailto:aperregatt...@napcosecurity.com] > Sent: Tuesday, November 24, 2009 11:40 PM > To: General discussion for Windows Installer XML toolset. > Subject: Re: [WiX-users] Select features on UI > > You are missing the publish event for the value > > Something like this > > In the <Control id=Next > Add <Publish Event="Addlocal" > Value="A"><![CDATA[(PKGTYPE="A")]]></Publish> > <Publish Event="Remove" > Value="A"><![CDATA[NOT(PKGTYPE="A")]]></Publish> > > Add this for each value type. > > I do this exactly the same with 4 radiobuttons for the user > selection and based on the selection I set the features. > > > Arun Perregattur > > > -----Original Message----- > From: akihiro.shib...@jp.yokogawa.com > [mailto:akihiro.shib...@jp.yokogawa.com] > Sent: Tuesday, November 24, 2009 7:01 AM > To: wix-users@lists.sourceforge.net > Subject: [WiX-users] Select features on UI > > > Hi, > > I want to modify features by radio buttons on dialog. > When PKGTYPE is selected "A", features are "F0" and "F2". > When PKGTYPE is selected "B", features are "F0" and "F1". > When PKGTYPE is selected "C", features are "F1" and "F2". > > The content selected on the UI is not reflected. Where has > made a mistake? > > 1) Set Initialize Property "PKGTYPE" > 2) Select package type on radio button. and change value of > "PKGTYPE". > 3) modify Feature Condition Levels . > 4) Show feature tree. but the content selected on the UI is > not reflected > > > > <Property Id="PKGTYPE" Value="A" /> > > > > <Feature Id="F0" Level="1001"> > <Condition Level="101">PKGTYPE="A"</Condition> > <Condition Level="102">PKGTYPE="B"</Condition> > </Feature> > <Feature Id="F1" Level="1001"> > <Condition Level="102">PKGTYPE="B"</Condition> > <Condition Level="103">PKGTYPE="C"</Condition> > </Feature> > <Feature Id="F2" Level="1001"> > <Condition Level="101">PKGTYPE="A"</Condition> > <Condition Level="103">PKGTYPE="C"</Condition> > </Feature> > : ( these are many features. ) > > > : > > <Fragment> > <UI> > <Dialog Id="PkgTypeDlg" Width="370" Height="270" > Title="[ProductName] Setup"> > <Control Id="Control_Select_PackageType" > Type="RadioButtonGroup" X="18" Y="59" Width="329" > Height="119" Property="PKGTYPE"> > <RadioButtonGroup Property="PKGTYPE"> > <RadioButton Text="PackageA" Value="A" X="6" > Y="10" Width="65" Height="17"/> > <RadioButton Text="PackageB" Value="B" X="6" > Y="30" Width="65" Height="17"/> > <RadioButton Text="PackageC" Value="C" X="6" > Y="50" Width="65" Height="17"/> > </RadioButtonGroup> > </Control> > <Control Id="Next" Type="PushButton" X="236" Y="243" > Width="56" Height="17" Default="yes" Text="!(loc.UIButtonNext)"> > <Publish Event="NewDialog" > Value="CustomizeDlg">1</Publish> > </Control> > : > </Dialog> > </UI> > </Fragment> > > Thanks, > > Akihiro, Shibuta. > > > > -------------------------------------------------------------- > ---------------- > Let Crystal Reports handle the reporting - Free Crystal > Reports 2008 30-Day trial. Simplify your report design, > integration and deployment - and focus on what you do best, > core application coding. Discover what's new with Crystal > Reports now. http://p.sf.net/sfu/bobj-july > _______________________________________________ > WiX-users mailing list > WiX-users@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/wix-users > > -------------------------------------------------------------- > ---------------- > Let Crystal Reports handle the reporting - Free Crystal > Reports 2008 30-Day trial. Simplify your report design, > integration and deployment - and focus on what you do best, > core application coding. Discover what's new with Crystal > Reports now. http://p.sf.net/sfu/bobj-july > _______________________________________________ > WiX-users mailing list > WiX-users@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/wix-users > ---------------------------------------------------------------------------- -- Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day trial. Simplify your report design, integration and deployment - and focus on what you do best, core application coding. Discover what's new with Crystal Reports now. http://p.sf.net/sfu/bobj-july _______________________________________________ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users ------------------------------------------------------------------------------ Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day trial. Simplify your report design, integration and deployment - and focus on what you do best, core application coding. Discover what's new with Crystal Reports now. http://p.sf.net/sfu/bobj-july _______________________________________________ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users