[wix-users] Same version upgrade adding 2 entries in ARP

Edwin Castro egcastr at gmail.com
Wed Feb 19 07:54:26 PST 2020


The Windows Installer engine, MSI, is in charge of actually upgrading your
application. The Windows Installer engine defines a MajorUpgrade in a very
specific way, ProductCode must change and ProductVersion must change and
ProductVersion ignores the fourth version component. If the ProductVersion
does not change, the by definition you do not have a MajorUpgrade. You may
have a different type of update with different rules but it will not be a
major upgrade.

https://docs.microsoft.com/en-us/windows/win32/msi/patching-and-upgrades

WiX bundles do support all four version components so you could use a
bundle to wrap your msi. You'll a custom bootstrapper application to
support same version upgrade, I think. At the msi level, which is hidden in
ARP, you still need a ProductVersion that changes (first three version
components) but that entry is hidden and not visible.

I'd caution against upgrading without changing any versions. That is a
configuration management nightmare independent of whether you can implement
it or not. Customer says "I have version X.X.X.X installed and feature Y
does not work" but which version X.X.X.X do they mean since you have
released multiple of that version? Better to give everything a new version
to ensure identifiability.

--
Edwin G. Castro


On Wed, Feb 19, 2020, 01:03 Deepali Ahirrao via wix-users <
wix-users at lists.wixtoolset.org> wrote:

> What I would like to know is whether it is at all possible to achieve -
> same version MajorUpgrade  (1.0.0.1 to newer 1.0.0.1)  ?
>
> On Mon, Feb 17, 2020 at 8:24 PM Bob Arnson <bob at firegiant.com> wrote:
>
> > Bundles support all four version fields.
> >
> > -----Original Message-----
> > From: wix-users <wix-users-bounces at lists.wixtoolset.org> On Behalf Of
> > Deepali Ahirrao via wix-users
> > Sent: Monday, 17 February, 2020 08:01
> > To: Rick Papo <rpapo at comcast.net>
> > Cc: Deepali Ahirrao <deepali.ahirrao at gmail.com>; WiX Toolset Users
> > Mailing List <wix-users at lists.wixtoolset.org>
> > Subject: Re: [wix-users] Same version upgrade adding 2 entries in ARP
> >
> > But the upgrade from 1.0.0.1 to 1.0.0.2 works with the same code.
> >
> > On Mon 17 Feb, 2020, 18:28 Rick Papo, <rpapo at comcast.net> wrote:
> >
> > > Normal behavior.  If you want upgrade to work, you have to increment
> > > one of the first three version numbers.  The last one is irrelevant.
> > >
> > > Been there, seen that.  Annoyed a customer because I didn't know.
> > >
> > > -----Original Message-----
> > > From: wix-users [mailto:wix-users-bounces at lists.wixtoolset.org] On
> > > Behalf Of Deepali Ahirrao via wix-users
> > > Sent: Monday, February 17, 2020 7:53 AM
> > > To: wix-users at lists.wixtoolset.org
> > > Cc: Deepali Ahirrao <deepali.ahirrao at gmail.com>
> > > Subject: [wix-users] Same version upgrade adding 2 entries in ARP
> > >
> > > Hi,
> > >
> > > I am trying to use MajorUpgrade to upgrade the same version (1.0.0.1
> > > to newer 1.0.0.1). But could not get it working. I am using same
> > > UpgradeCode and different ProductCode.
> > >
> > > <MajorUpgrade AllowSameVersionUpgrades="yes"
> > > DowngradeErrorMessage="A newer version of [ProductName] is already
> > > installed."
> > >  />
> > >
> > > The install ends up adding 2 entries in Add/Remove Programs.
> > > Below is my Bundle.wxs. The last ExePackage entry adds a file at a
> > > particular location (the file name remains same across versions). Can
> > > this ExePackage entry cause a problem?
> > >
> > > <Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
> > >
> > >   <Bundle Name="..." Version="..." Manufacturer="..."
> > > UpgradeCode="..." Copyright="..." IconSourceFile="..." AboutUrl="...">
> > >
> > >
> > >
> > >     <Chain>
> > >
> > >       <ExePackage Id="Accept_License"
> > > SourceFile="$(var.LicDir)Accept_License" />
> > >
> > >       <RollbackBoundary />
> > >
> > >
> > >
> > >       <MsiPackage Id="MainPackage"
> > > SourceFile="$(var.ProjectDir)..\main\bin\x64\Release\Main.msi" />
> > >
> > >       <RollbackBoundary />
> > >
> > >
> > >
> > >       <ExePackage Id="Linking"
> > >
> > >
> >
> SourceFile="$(var.ProjectDir)..\CreateLinks\bin\x64\Release\CreateLinks.exe"
> > > Compressed=*"yes"* Cache=*"yes" *Vital=*"yes" *
> > >
> > >         InstallCommand=*"-create "[InstallFolder]"*
> > >
> > >         UninstallCommand=*"-remove "[InstallFolder]"*
> > >
> > >         DetectCondition=*"VersionAlreadyInstalled"*>
> > >
> > >       </ExePackage>
> > >
> > >
> > >
> > >     </Chain>
> > >
> > >   </Bundle>
> > >
> > > </Wix>
> > >
> > >
> > > Any help on this is greatly appreciated.
> > >
> > > Thanks,
> > > Deepali
> > >
> > > ____________________________________________________________________
> > > 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