<Feature Id="RibbitLink" Level="1" Absent="allow" AllowAdvertise="no"
Description="Ribbit Link (user should not see this!)" Display="hidden"
Title="Ribbit Link">
<Condition Level="0"><![CDATA[LINKTORIBBIT = "False"]]></Condition>
<ComponentRef Id="RibbitLink" Primary="yes" />
</Feature>
That's my code there which I posted last week. The only differences I
can see are that you don't have the Absent & Description attributes in
your feature but do have a ConfigurableDirectory (none of which should
affect the functionality of this code).
I didn't try it with a second condition to set the Level to 1 however
which might be the difference between a bug & a feature =)
No matter where I called the dialog to set my Property in the UI,
whether it be the after the Welcome & License Agreement Dialogs or right
before Progress Dialog it would not work. I want to do an IniFile change
based on a user choice & thus need to set the Property during the UI
Sequence. Like I said I use the same code except I moved the Condition
to the Component containing the IniFile (and removed the Level attribute
obviously) instead of having a Feature for it & it works absolutely
fine.
How (and when) are you setting the property you use to change the Level
of the Feature?
Cheers,
<http://www.iesve.com/>
Palbinder Sandher
Software Deployment and
IT Administrator
T: +44 (0) 141 945 8500
F: +44 (0) 141 945 8501
http://www.iesve.com <http://www.iesve.com/>
**Design, Simulate + Innovate with the <Virtual Environment>**
Integrated Environmental Solutions Limited. Registered in Scotland No.
SC151456
Registered Office - Helix Building, West Of Scotland Science Park,
Glasgow G20 0SP
Email Disclaimer <http://www.iesve.com/disclaimer.html>
________________________________
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On Behalf Of Aaron
Shurts
Sent: 29 May 2007 20:43
To: Lewis Henderson
Cc: wix-users@lists.sourceforge.net
Subject: Re: [WiX-users] Disabling features in the CustomizeDlg based on
UIinteraction...
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]
<mailto:[EMAIL PROTECTED]> >
>Subject: Re: [WiX-users] Disabling features in the CustomizeDlg
based>
> on UIinteraction...
>To: "Pally Sandher" < [EMAIL PROTECTED]
<mailto:[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