In case anyone else is a WIX/MSI beginner like me and didn't really
understand the response to the question, here is what you need to know:

With Microsoft installer, properties are used to create boolean conditions
that can be used to change the behavior of the installer.  There are some
properties that are already defined that you can use.  As I mentioned
before, I want to install Firebird, but only if they are not already
installed.  In WIX, condition nodes behave different depending on their
context.  What follows is my solution to install Firebird along with my
appliction:

    <!-- Check if firebird is already installed.  Use the publisher key
since it should exist and be not be empty -->
    <Property Id="FIREBIRDEXISTINGINSTALL">
      <RegistrySearch Id="FirebirdExistingInstall"
                      Root="HKLM"

Key="SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\FBDBServer_2_1_is1"
                      Name="Publisher"
                       Type="raw" />

    </Property>

    <!-- The firebird option should only be selectable when it it is not
installed -->
    <Feature Id="Firebird" Title="Firebird 2.1.1" Level="0">
      <ComponentRef Id="Firebird" />
      <!-- conditions work differently in this context: It has the ability
to modify the level of the parent feature -->
      <Condition  Level="1"  >
        <![CDATA[NOT FIREBIRDEXISTINGINSTALL]]>
      </Condition>
    </Feature>

   <!-- in this context, if the condtion evaluates to false, the custom
action will not run -->
    <InstallExecuteSequence >
      <Custom Action="RunFirebirdInstaller"  Before="InstallFinalize"  >
<![CDATA[NOT Installed]]>/Custom>
    </InstallExecuteSequence>

On Mon, Dec 29, 2008 at 6:52 PM, Rob Mensching
<rob.mensch...@microsoft.com>wrote:

> Condition the CustomAction.
>
> -----Original Message-----
>
------------------------------------------------------------------------------
_______________________________________________
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users

Reply via email to