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: [email protected]
[mailto:[email protected]]
Sent: Tuesday, November 24, 2009 5:14 PM
To: [email protected]
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:[email protected]]
> 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: [email protected]
> [mailto:[email protected]]
> Sent: Tuesday, November 24, 2009 7:01 AM
> To: [email protected]
> 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
> [email protected]
> 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
> [email protected]
> 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
[email protected]
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
[email protected]
https://lists.sourceforge.net/lists/listinfo/wix-users