[wix-users] Component IDs for Major Upgrade

Edwin Castro egcastr at gmail.com
Thu Dec 7 09:19:12 PST 2017


Note you *MUST* change the component GUID if the component changes in any
way (including key path) with the exception of a file's version.

If the component hasn't changed at all but the file's version changed, then
the component GUID must not change if you schedule RemoveExistingProducts
before InstallFinalize. This is required because Windows Installer will
reinstall the component first (including increasing ref counts) and then
uninstall components at the end (decreasing ref counts). If you change
anything about a component other than the file's version, then you are
breaking the component rules and upgrades will not work properly.

If you schedule RemoveExistingProducts after InstallInitialize, then your
old product is completely uninstalled before the new product is installed.
In this case you don't have to be so strict with the component rules
because your ref counts never go up higher than 1. The downside of this
approach is that you completely uninstall the old product and that might
have effects you didn't expect like configuration and data files might be
deleted and recreated.

--
Edwin G. Castro



On Wed, Dec 6, 2017 at 12:27 PM, Hoover, Jacob via wix-users <
wix-users at lists.wixtoolset.org> wrote:

> Depends on when RemoveExistingProducts is scheduled and if the new install
> has a component in the same key path but a different component id.
>
> Best rule of thumb is 1 file per component, and let WiX generate stable
> GUID's (ala *).  This will cause any change in the key path to get a new
> GUID.
>
> -----Original Message-----
> From: wix-users [mailto:wix-users-bounces at lists.wixtoolset.org] On Behalf
> Of Paul Mumford via wix-users
> Sent: Wednesday, December 6, 2017 2:18 PM
> To: WiX Toolset Users Mailing List <wix-users at lists.wixtoolset.org>
> Cc: Paul Mumford <paul.mumford at gmail.com>
> Subject: Re: [wix-users] Component IDs for Major Upgrade
>
> Yeah think so, the only guid that needs changing is the package (which I
> found easier to just use * to generate a new one) and change the major
> version. As long as you never change the upgrade guid. Someone confirm
> please because im no longer in that contract and cant see the source code
> anymore. I did have that all written down in comments in the package after
> r&d.
>
> On 6 December 2017 at 17:35, Ven H via wix-users <
> wix-users at lists.wixtoolset.org> wrote:
>
> > Do the component Guids need to be the same for Major upgrade?
> >
> > Regards,
> > Venkatesh
> >
> > ____________________________________________________________________
> > 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