[wix-users] feature based MSI not removing all files on uninstall, some files missing on upgrade [P]

Steven Ogilvie Steven.Ogilvie at titus.com
Thu Jan 12 11:51:24 PST 2017


Classification: Public
Hi Bob,

So this is what one of my features (that is not being removed) looks like now:

<Feature Id="Feature_X"
             Title="X Client"
             Description="blah and blah."
             Level="0"
             Display="expand"
             ConfigurableDirectory="DIRECTORY_PATH_CLIENT_X">
      <ComponentGroupRef Id="ProductComponents_X" />
      <ComponentRef Id="Cmp_RemoveDPCDir_X"/>
      <Condition Level="1"><![CDATA[INSTALLCLIENT_X=1 AND FOUNDPRODUCTPLATFORM="x86" OR REMOVE]]></Condition>
    </Feature>

Where FOUNDPRODUCTPLATFORM is being set by a custom action at LaunchConditions, it sets the variable as the bitness of MS Office...

I ran the MSI, install was good, I ran the uninstall and all is well :)

Thanks very much for your help,

Steve

p.s. know to test upgrade which I think is fixed (files missing)






This message has been marked as Public by Steven Ogilvie on January 12, 2017 2:51:22 PM. Classification provided by TITUS. 


-----Original Message-----
From: wix-users [mailto:wix-users-bounces at lists.wixtoolset.org] On Behalf Of Bob Arnson
Sent: January 11, 2017 10:18 PM
To: WiX Toolset Users Mailing List <wix-users at lists.wixtoolset.org>
Subject: Re: [wix-users] feature based MSI not removing all files on uninstall, some files missing on upgrade

http://www.joyofsetup.com/2008/05/16/make-sure-features-are-always-enabled-so-they-can-be-removed/ 

-----Original Message-----
From: wix-users [mailto:wix-users-bounces at lists.wixtoolset.org] On Behalf Of Steve Ogilvie
Sent: Wednesday, 11 January, 2017 11:51
To: WiX User List <wix-users at lists.wixtoolset.org>
Subject: [wix-users] feature based MSI not removing all files on uninstall, some files missing on upgrade

Hi all,

I have a problem with a feature based install, where the feature tree is not shown it is code within the wxs.

I was mandated to bring 12 MSI's (6 32 bit and 6 64 bit) to 2 MSI (a 32 bit MSI and a 64 bit MSI)

The MSI's had 1 merge module and half a dozen WiX libraries...

so we have a product where we have 3 features that are installed always based on the bitness of the OS (a client service, plugins and another service) and 3 features that are installed based on what the user had selected via checkboxes on the bundle.

The 2 MSI's are selected to run by install conditions within the bundle, on a 64 bit system with 32 bit Office both MSI's can run....

I pass the variables to the 3 checkboxes to the MSI (INSTALLCLIENT_X)...

I have the 3 features set to:

<Feature Id="Feature_X"
Title="A Client"
Description="blah blah."
Level="0"
Display="expand"
ConfigurableDirectory="DIRECTORY_PATH_CLIENT_X">
<ComponentGroupRef Id="ProductComponents_X" /> <ComponentRef Id="Cmp_RemoveDPCDir_X"/> <Condition Level="1"><![CDATA[INSTALLCLIENT_X=1 AND FOUNDPRODUCTPLATFORM="x86"]]></Condition>
</Feature>

Where 'X' is 1 of the 3 features that the user can select to install, by default all three checkboxes are selected (all 3 to be installed)

I have the feature set to a condition level of '1' so if:
1. the checkbox is selected (var INSTALLCLIENT_X) 2. the variable FOUNDPRODUCTPLATFORM is equal to 'x86' ('x64' on the 64 bit MSI) then change the feature to a level of 1 to install it.

FOUNDPRODUCTPLATFORM is a variable that is set by a custom action that determines the bitness of Office, 2 of the 3 features are add ins for Office... so if the OS is 64 bit but Office is 32 bit, the feature must be selected to be installed AND the variable FOUNDPRODUCTPLATFORM must be set to 'x86'

I have the 3 features (based on checkbox or cmd line param of "INSTALLCLIENT_X=1 or 0 based on if you want to install the feature or not) using a Group component that has all of its fileset and each of those 3 features are installed to different folders.


Issues:

1. on uninstall some files remain behind from 2 of the features that are condition based i.e. Feature_X and Feature_Y while Feature_Z which condition is based on OS bitness is uninstalled

2. On an upgrade one of the features is missing 7 files that are not installed but are part of the <ComponentGroupRef Id="ProductComponents_X" /> The previous MSI did not use ComponentGroupRef... all the components where listed in the main feature so to recap...

previous install had 12 MSI's (32 bit and 64 bit 6 each) previous install used WiX libraries in all 12 but now only 1 feature uses shared WiX Library previous install has 1 merge module

New install

now only 2 MSI's (a 32 bit and a 64 bit) each Office add in is a Feature... the features use ComponentGroupRef instead of multiple components within the feature

Any idea why on uninstall files are left behind, and upgrade doesn't install all the files??

Any help would be really appreciated...

Steve


____________________________________________________________________
WiX Toolset Users Mailing List provided by FireGiant http://www.firegiant.com/

____________________________________________________________________
WiX Toolset Users Mailing List provided by FireGiant http://www.firegiant.com/


More information about the wix-users mailing list