[wix-users] Remove MSI on Update without running a CustomAction in it

Blair Murri osito at live.com
Wed Jul 10 11:33:09 PDT 2019


Setting the level of a feature to default to zero isn't always the best idea, because feature conditions aren't always evaluated and you can orphan the feature's components. (I don't remember the reference, but it did come up in Google/Bing searches)

It's better to use a condition to set the feature to zero when you don't want it installed, instead.

Get Outlook for Android<https://aka.ms/ghei36>

________________________________
From: wix-users <wix-users-bounces at lists.wixtoolset.org> on behalf of RonnyS via wix-users <wix-users at lists.wixtoolset.org>
Sent: Monday, July 8, 2019 7:49:08 AM
To: WiX Toolset Users Mailing List
Cc: RonnyS
Subject: Re: [wix-users] Remove MSI on Update without running a CustomAction in it

Hello I think the problem is the condition of the Feature Feature_SHA1.
The condition says that the level only switch to 1 if the VersionNT <=
Windows 7 is true.


    <Feature Id="Feature_SHA1" Level="0">
      <Condition Level="1">
        <![CDATA[VersionNT <= 601]]>
      </Condition>
      <ComponentGroupRef Id="group.SHA1Files" />
    </Feature>

<Feature Id="Feature_SHA256" Level="0">
      <Condition Level="1">
        <![CDATA[VersionNT >= 602]]>
      </Condition>
      <ComponentGroupRef Id="group.SHA2Files" />
    </Feature>


I have change the condition in Orca and than the uninstall works.

Can I uninstall the feature from an exsisting installed MSI with a console
command?
I try REMOVE=ALL but it not work as the level of the feature is zero.

Thanks and Greetings Ronny

Am Mi., 29. Mai 2019 um 04:00 Uhr schrieb Blair Murri <osito at live.com>:

> It detects that SHA1 is installed and that SHA256 is not installed.
>
> There's not enough detail here to know why it didn't schedule SHA1 for
> removal (is the component guid still in another installed MSI somewhere?)
> nor evidence to support your assertion that SHA256 is still installed.
>
> Reformating for clarity:
>
> Feature: Feature_SHA1
>      Installed: Local
>      Request: Null
>      Action: Null
>
> Feature: Feature_SHA256
>      Installed: Absent
>      Request: Null
>      Action: Null
>
> Component: File_SHA1
>      Installed: Local
>      Request: Null
>      Action: Null
>
> Component: File_SHA256
>      Installed: Absent
>      Request: Null
>      Action: Null
>
> Get Outlook for Android <https://aka.ms/ghei36>
>
> ------------------------------
> *From:* wix-users <wix-users-bounces at lists.wixtoolset.org> on behalf of
> RonnyS via wix-users <wix-users at lists.wixtoolset.org>
> *Sent:* Tuesday, May 28, 2019 5:21:06 AM
> *To:* WiX Toolset Users Mailing List; Ronny Schultheiß
> *Cc:* RonnyS
> *Subject:* Re: [wix-users] Remove MSI on Update without running a
> CustomAction in it
>
> Hello everybody,
>
> I now have a problem with the approach for systems that have been updated
> from Windows 7 to Windows 10 and now an update of our software is
> performed. Not all files are removed from the third MSI. Therefore, the
> removal of the MSI is additionally called in the bootstrapper. This will
> execute the custom action that should not be running.
> We install Windows 7 files signed SHA1 and Windows 10 with SHA2. The SHA1
> and SHA2 files are in different components and features. They are installed
> depending on the operating system.
>
> Example:
> Feature: Feature_SHA1
> File_SHA1
>
> Feature: Feature _SHA256
> File_SHA256
>
> Log files when updating our software:
> Feature: Feature_SHA1; Installed: Local;   Request: Null;   Action: Null
> Feature: Feature_SHA256; Installed: Absent;   Request: Null;   Action: Null
> Component: File_SHA1; Installed: Local;   Request: Null;   Action: Null
> Component: File_SHA256; Installed: Absent;   Request: Null;   Action: Null
>
> It detects that Feature_SHA1 and File_SHA1 are installed, but they are not
> marked for removal.
> What do I have to do to remove the SHA1 parts as well?
>
> Thanks and Greetings Ronny
>
>
>
> > Many thanks for your help @Nir Bar and Edwin Castro
> >>
> >> I have tried it now and it works:
> >> <Property Id="PREVIOUSVERSIONSINSTALLED_THIRDMSI" Secure="yes" />
> >> <Upgrade Id="{UPGRADE GUID OF THE THIRD MSI}">
> >> <UpgradeVersion Minimum="1.0.0.0" Maximum="99.99.99.99" Property="
> >> PREVIOUSVERSIONSINSTALLED_THIRDMSI" IncludeMinimum="yes"
> >> IncludeMaximum="no"
> >> />
> >> </Upgrade>
> >>
> >> All files (first & third MSI) will be removed and installed new with the
> >> first MSI. The CustomAction on the third MSI dont run so the problem is
> >> solved.
> >> Should I adjust something to make it more stable?
> >>
> >> Greetings Ronny
> >>
> >> ____________________________________________________________________
> >> WiX Toolset Users Mailing List provided by FireGiant
> >> http://www.firegiant.com/
> >>
> >
>
> ____________________________________________________________________
> 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