wixversionbootstrapperburn

Updating MSI installations with WiX Burn Bootstrapper Fails due to the MSI's ProductVersion 4th component being >65535


Working with Wix3.6 and have just started to use burn to create a bootstrapper to simplify the upgrading process for clients.

Unfortunately although it builds fine the bootstapper fales to run, exiting with following error: - …Error 0x8002000a: Failed to convert version: x.x.x.239836 to DWORD64 for ProductCode ...

I understand that this is because the 4th component, that the MSI ignores, can not be parsed by the bootstrapper because it exceeds 65535. I assume this is linked to the fact that the bootstrapper's version requires all components to be individually less than 65535.

What I have found on-line is quite old and seems to suggest that the only solutions would be to fix the existing installation e.g. by apply a minor update or a patch to update the cached installer to a version with a fully compliant version number or to do an uninstall. Neither of these are attractive options for our particular applications and environments.

A couple of links I found: - https://github.com/wixtoolset/issues/issues/4443 https://github.com/wixtoolset/wix3/pull/65

Can anyone confirm if this remains a problem (both with WiX v3 and v4) or if there is some fix that is readily available - for example a burn variable that defines a default action (eg set to component value to 65535 or 0, or fail) in the event of the error?

Many thanks.


Solution

  • Burn was updated in v4 to support a larger range of version numbers. I don't believe that there is a test for your particular variant of a version number, so you'll need to test it.