Thanks, salever.lee, No, I don't, and I am trying it now. it works, Thank you very much.
Akihiro, Shibuta. > -----Original Message----- > From: salever.lee [mailto:salever....@gmail.com] > Sent: Monday, November 30, 2009 4:36 PM > To: General discussion for Windows Installer XML toolset. > Subject: Re: [WiX-users] Select features on UI > > Hi, > Here is an example I wrote to do something on features. > There are three featrues "VC71" "VC70" "VC90", and when > installing user can only choose one of them and install the > matching feature. > In a dialog, I created a listbox: > <Control Id="IDEType" Type="ComboBox" X="25" Y="117" > Width="290" Height="25" Property="IDE" Sorted="yes" > RightToLeft="no" ComboList="yes" > > <ComboBox Property="IDE"> > <ListItem Text="VC71" Value="71"/> > <ListItem Text="VC80" Value="80"/> > <ListItem Text="VC90" Value="90"/> > <ListItem Text="null" Value="0"/> > </ComboBox> > </Control> > Then in the "Next" button event: > <Publish Event="AddLocal" Value="VC71BinFt">1</Publish> > <Publish Event="AddLocal" Value="VC80BinFt">1</Publish> > <Publish Event="AddLocal" Value="VC90BinFt">1</Publish> > <Publish Event="Remove" Value="VC71BinFt"><![CDATA[IDE <> > "71"]]></Publish> > <Publish Event="Remove" Value="VC80BinFt"><![CDATA[IDE <> > "80"]]></Publish> > <Publish Event="Remove" Value="VC90BinFt"><![CDATA[IDE <> > "90"]]></Publish> > These can finish features adding and removing according to > user's selection. > if you want to select features according to its state, > here is another way. In a button event: > <Publish Event="AddLocal" Value="VCBinFt"> > <![CDATA[!VC71BinFt = 3 OR !VC71BinFt = 3 OR !VC80BinFt = > 3 OR !VC80BinFt = 4 OR !VC90BinFt = 3 OR !VC90BinFt = 4]]> > </Publish> > Put this in the event before FeatureTree dialog, it can > affect the features state in the tree. > Does this meet you? > > > 2009-11-30 > > > > salever.lee > > > > 发件人: akihiro.shib...@jp.yokogawa.com > 发送时间: 2009-11-30 10:37:55 > 收件人: wix-users@lists.sourceforge.net > 抄送: > 主题: Re: [WiX-users] Select features on UI > > Thanks, > If I specify a property that ADDLOCAL, REMOVE are some > features from command-line, It does work. > If A feature is specfied, it does work. > Some features are specified value of Events that are AddLocal > or Remove. > But the FeatureTree dialog, use WiXUI library, don't enable > these features. > I create CustomAction, and some features' state changed to > INSTALLSTATE_LOCAL ( using a function MsiSetFeaturesState in C++ ). > and this function is called by DoAction Event. > I create sample code: > CA: > UINT _stdcall PkgSetFeatureChange( MSIHANDLE hInstall ) { > : > MsiGetProperty( hInstall, L"PKGTYPE", szPkgType, &dwLen ); > if( !wcsstr( "A", szPkgType ) ) { > MsiSetFeatureState( hInstall, "F0", INSTALLSTATE_LOCAL ); > MsiSetFeatureState( hInstall, "F1", INSTALLSTATE_LOCAL ); } > > } > in WiX: > <CustomAction Id="CA" Binary="XXXX.dll" > DllEntry="PkgSetFeatureChange" .... /> > : > <Control Id="Next" .. > <Publish Event="DoAction" Value="CA" >1</Publish> > : > I don't understand why It dosen't work that value of > Event="AddLocal" or Event="Remove" is specified some features. > Thanks, > Akihiro Shibuta. > > -----Original Message----- > > From: Blair [mailto:os...@live.com] > > Sent: Friday, November 27, 2009 4:12 PM > > To: 'General discussion for Windows Installer XML toolset.' > > Subject: Re: [WiX-users] Select features on UI > > > > 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][AddLocalPk > > gCFeatures]" > > 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 > > > -------------------------------------------------------------- > ---------------- > 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