You may be able to build your ADDLOCAL property from checkboxes instead of
using the Feature Selection dialog. This would allow you to enable or
disable the checkboxes based on property values.
The problem you are having is a sequencing problem. The feature conditions
have already been evaluated by the time your custom action runs. Thusly,
manipulating what the user can and cannot select is a difficult task.
You are running in to what happens to be one of the biggest complaints about
Windows Installer, the UI. To really have full control over it, you'll need
to write your own UI.
...which is not as difficult or lengthy as it might sound. There are a
plethora of topics in the SDK that cover how to do this, see the following
topic for example:
http://msdn2.microsoft.com/en-us/library/aa369544.aspx
Regards,
//aj
On 5/29/07, Lewis Henderson <[EMAIL PROTECTED]> wrote:
Hi All,
Thanks for the reply, but that doesn't do it for me. If I use this
code, all of the features are disabled since none of the property values
are set initially. As a reminder, I set property values in a CA called
from a UI before the CustomizeDlg is called. Since I can't seem to
Feature conditions to evaluate at the time of the CustomizeDlg call, is
there some MSI function I can call from C in my UI that can set the
Feature Level in the database?
Lewis
-----Original Message-----
>Date: Tue, 29 May 2007 11:01:13 -0700
>From: "Aaron Shurts" <[EMAIL PROTECTED]>
>Subject: Re: [WiX-users] Disabling features in the CustomizeDlg based>
> on UIinteraction...
>To: "Pally Sandher" <[EMAIL PROTECTED]>
>Cc: Lewis Henderson <[EMAIL PROTECTED]>,
> wix-users@lists.sourceforge.net
>Message-ID:
> <[EMAIL PROTECTED]>
>Content-Type: text/plain; charset="iso-8859-1"
>
>I use this very successfully actually and have not had any problems
with
>it. My feature declaration looks like this:
><Feature Id="MyFeature" Title="My Application Feature" Display="hidden"
>Level="1" ConfigurableDirectory="INSTALLDIR" AllowAdvertise="no">
> <ComponentRef Id="MyInstallComponent" />
> <Condition Level="1"><![CDATA[MY_NEEDED_PROPERTY]]></Condition>
> <Condition Level="0"><![CDATA[NOT MY_NEEDED_PROPERTY]]></Condition>
></Feature>
>
>The "Condition" tag sets the feature to 1 or 0 based on the presence of
>[MY_NEEDED_PROPERTY]. I use this in several different installs and it
>works
>great. For instance I have an install where the client and server
>components are in the same install and you can't install both on the
same
>box. That is where this example comes from as a matter of fact. You
could
>go even further to place conditions on the individual components that
check
>for the install actions of particular features to ensure the desired
>installation behavior.
>
>See the following for more information:
>http://msdn2.microsoft.com/en-us/library/aa368014.aspx
>http://msdn2.microsoft.com/en-us/library/aa368012.aspx
>
>Regards,
>//aj
-------------------------------------------------------------------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
_______________________________________________
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users
-------------------------------------------------------------------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
_______________________________________________
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users