If I had to guess, in the context of burn INSTALLED doesn't make sense. (Is it 
talking about the bundle, the MSI, the ?)  What I would suggest is using the 
<Variable Persisted="Yes" Name=..., and then only use the check state in the 
condition.

-----Original Message-----
From: andy smith [mailto:andysmi...@gmail.com] 
Sent: Thursday, October 18, 2012 10:37 AM
To: wix-users@lists.sourceforge.net
Subject: [WiX-users] Conditionally Installing Update MSI's in Burn

I have a burn installer, whereby the original installer can effectively select 
which items to install via checkBoxes, which relate to individual msi's.
These are working via InstallConditions, checking the fact that the checkbox 
has been checked, and that they are not installed. So far so good and that's it 
for options on install.

I'm trying to run the updates without user invention, so are running them 
/passive .
I'm assuming (this may be where my logic falls down) that all I need to check 
for is whether they have been installed or not, in order to only update those 
parts that have been installed, so InstallCondition="Installed"

Alas on running an update, everything evaluates to false, and the exe's 
installed by the original install disapear, as defined in the wix manual - "If 
the condition evaluates to false and the bundle is being installed, repaired, 
or modified, the package will be uninstalled."

    <WixVariable Id="chkProductA" Value="![CDATA[chkProductA]]" />
    <WixVariable Id="chkProductB" Value="![CDATA[chkProductB]]" />
    <WixVariable Id="chkProductC" Value="![CDATA[chkProductC]]" />

    <Chain>
      <MsiPackage SourceFile="..\ProductA\bin\Release\ProductA.msi"
                  InstallCondition="(chkProductA AND NOT Installed) OR 
INSTALLED" />
      <MsiPackage SourceFile="..\ProductB\bin\Release\ProductB.msi"
                  InstallCondition="(chkProductB AND NOT Installed) OR 
INSTALLED" />
      <MsiPackage SourceFile="..\ProductC\bin\Release\ProductC.msi"
                  InstallCondition="(chkProductC AND NOT Installed) OR 
INSTALLED" />
    </Chain>

The log states:
Detected package: SetupProductA.msi, state: Absent, cached: None Detected 
package: SetupProductB.msi, state: Absent, cached: None Detected package: 
SetupProductC.msi, state: Absent, cached: None Detect complete, result: 0x0 
Plan 3 packages, action: Install Condition '(chkProductA AND NOT Installed) OR 
INSTALLED' evaluates to false.
Condition '(chkProductB AND NOT Installed) OR INSTALLED' evaluates to false.
Condition '(chkProductC AND NOT Installed) OR INSTALLED' evaluates to false.

What am I missing with my InstallConditions?

Thanks
------------------------------------------------------------------------------
Everyone hates slow websites. So do we.
Make your web apps faster with AppDynamics Download AppDynamics Lite for free 
today:
http://p.sf.net/sfu/appdyn_sfd2d_oct
_______________________________________________
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users

------------------------------------------------------------------------------
Everyone hates slow websites. So do we.
Make your web apps faster with AppDynamics
Download AppDynamics Lite for free today:
http://p.sf.net/sfu/appdyn_sfd2d_oct
_______________________________________________
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users

Reply via email to