[wix-users] Burn error with large MSI product versions
Joel Budreau
joel.budreau at gmail.com
Tue Jan 17 09:46:12 PST 2017
For my situation, it seems like a good approach to remove the references
from the Upgrade table, and simply add them in at run time. Thanks for the
suggestion :)
On Fri, Jan 13, 2017 at 11:56 PM, Blair Murri <osito at live.com> wrote:
> There's an ICE error/test for invalid version values. While there may be a
> way to transform an invalid version value into a testable one, since the
> way that the versions are stored/compared by the Windows Installer APIs
> isn't documented, and since the method of storage has changed during the
> evolution of MSI/Windows, it would be a fools errand to even try.
>
>
>
> If you have control over the other products’ packages then I recommend you
> fix their “package product” versions to conform. If you really don't have
> to care what the version is of the other products are, remove the version
> string. If you don't need to know about the other product in the BA, don't
> add it directly to the MSI’s Upgrade table (so that the BA doesn't even see
> it), instead adding it to that table at runtime. If you need to know the
> specific version in the BA, again don't put it directly in the MSI’s
> Upgrade table, instead write code directly in the BA (I recommend storing
> the data in a custom table in the BA) to enumerate by upgrade code and
> parse/compare version codes yourself based on whatever intent you can
> determine from whomever generated the invalid version strings.
>
>
>
> Good luck to you. Let me know if I can help.
>
>
>
> Sent from my Windows 10 phone
>
>
>
> From: Rob Mensching<mailto:rob at firegiant.com>
> Sent: Friday, January 13, 2017 12:15 PM
> To: WiX Toolset Users Mailing List<mailto:wix-users at lists.wixtoolset.org>
> Subject: Re: [wix-users] Burn error with large MSI product versions
>
>
>
> The other package's version is not just too large, it's completely
> invalid: https://msdn.microsoft.com/en-us/library/windows/desktop/
> aa370859(v=vs.85).aspx
>
> _____________________________________________________________
> Short replies here. Complete answers over there:
> http://www.firegiant.com/
>
> -----Original Message-----
> From: wix-users [mailto:wix-users-bounces at lists.wixtoolset.org] On Behalf
> Of Joel Budreau
> Sent: Friday, January 13, 2017 12:13 PM
> To: WiX Toolset Users Mailing List <wix-users at lists.wixtoolset.org>
> Subject: [wix-users] Burn error with large MSI product versions
>
> I have an MSI that I want to package into a burn bootstrapper. My MSI has
> UpgradeCode references to a different product. I only want to detect if the
> other product is installed or not. When I run my custom BA I see the
> following log message:
>
> Error 0x800200a: Failed to convert version: 3.6.0.4208657 to DWORD64 for
> ProductCode: ...
> Detect failed for package: <my package> ...
>
> So, it looks like the detect phase of my new bootstrapper will fail because
> some other product is using a build number that's too large.
>
> What's the recommended workaround here? Use some other mechanism besides
> the Upgrade table to detect if the other product is installed?
>
> Thanks,
> Joel
>
> ____________________________________________________________________
> 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