wixtoolset / issues

WiX Toolset Issues Tracker
http://wixtoolset.org/
129 stars 24 forks source link

WiX 5 Bootstrapper - Upgrading installer leaves two entries in Add/Remove Programs Dialog when Log element specified #8739

Open IanSwatton opened 2 months ago

IanSwatton commented 2 months ago

WiX Version

5.0.0

.NET or MSBuild or Visual Studio Version

Visual Studio 2022 Version 17.10.1

HeatWave Version

n/a

Windows Version

Win 10 Version 22H2 (OS Build 19045.4780)

Repro Repo

No response

Repro Steps

  1. Create MSI package via the "New Project Wizard" and select "MSI Package" within Visual Studio
  2. Edit the Package.wxs file and add the following two attributes: Compressed="yes" InstallerVersion="500" to the Package element. Add the following element to the Package,wxs <MediaTemplate EmbedCab="yes" />
  3. Create Bootstrapper via the "Add Project Wizard" and select "Bundle"
  4. Edit the Bundle.wxs file and add the following element <Log Disable="yes" /> Update the MsiPackage element to specify the SourceFile attribute to the above MSI package.
  5. Build the MSI and EXE bootstrapper (this is version 1.0.0.0) and copy them to a known location.
  6. Update the version in the MSI's Pacage.wxs file to version 1.0.1.0
  7. Update the version in the boostrapper's Bundle,wxs file to version 1.0.1.0
  8. Build the MSI and .EXE bootstrapper (this is version 1.0.1.0) and copy them to a known location.
  9. Install version 1.0.0.0 and note there is one entry in the add remove programs dialog.
  10. Install version 1.0.1.0 and note there are now two entries in the add remove programs dialog.

Actual Result

After running the second installer (the upgrade) there are two entries in the Add/Remove programs dialog one for each version.

Expected Result

After running the second installer (the upgrade) there should be only one entry in the Add/Remove programs dialog. This should be for the 1.0.1.0 version.

Please note that, if the <Log Disable="yes" /> element is removed from the Bundle.wxs file then the upgrade runs as expected (but logs are automatically written in the user's temp folder)

Acknowledgements

barnson commented 2 months ago

Does is happen for other Log attributes or only <Log Disable="yes" />?

IanSwatton commented 2 months ago

Does is happen for other Log attributes or only <Log Disable="yes" />?

I don't know, I will test and let you know.

As this works when the element is not present, I'm assuming that specifying other log attributes will work as this would be the same as <Log Disable="no" />?

barnson commented 2 months ago

Thanks. It's odd that disabling the log would change Burn's behavior but it's worth investigating.