[wix-users] Antwort: Bundle: DetectCondition with semantic versioning
Phill Hogland
phill.hogland at rimage.com
Fri Aug 28 05:45:24 PDT 2015
I seem to recall a Feature request for this issue:
http://wixtoolset.org/issues/4666/
Since semantic versioning is not supported in the current Burn vx.x.x.x version comparison, to my knowledge, as others indicated you need to process the version in a custom BA (or the WixStdBA with a bafunctions.dll) and then set a variable that you can use in the DetectCondition (or implement logic in one of the Plan handlers. There are examples of both bafunctions.dll and custom BA and PlandPackageBegin in the wixtoolset source.
-----Original Message-----
From: wix-users [mailto:wix-users-bounces at lists.wixtoolset.org] On Behalf Of Thomas.Deboben.ext at rohde-schwarz.com
Sent: Friday, August 28, 2015 4:00 AM
To: WiX Toolset Users Mailing List <wix-users at lists.wixtoolset.org>
Cc: wix-users <wix-users-bounces at lists.wixtoolset.org>
Subject: [wix-users] Antwort: Bundle: DetectCondition with semantic versioning
Hi,
does no one has an idea?
Thanks,
Thomas
Von: Thomas.Deboben.ext at rohde-schwarz.com
An: wix-users at lists.wixtoolset.org,
Datum: 24.08.2015 11:46
Betreff: [wix-users] Bundle: DetectCondition with semantic
versioning
Gesendet von: "wix-users" <wix-users-bounces at lists.wixtoolset.org>
Hi all,
I have a bootstrapper installer including an ExePackage of PostgreSQL installer.
So long I had a RegistrySearch for the Version value
<util:RegistrySearch Id="FindPostgreSQLx64"
Root="HKLM"
Key="SOFTWARE\PostgreSQL\Installations\$(var.POSTGRESQLX64)"
Value="Version"
Variable="PostgreSQLx64"
Win64="yes"/>
and a DetectCondition in the ExePackage
DetectCondition="(PostgreSQLx64= v$(var.POSTGRESQLFULLVERSION))"
with <?define POSTGRESQLFULLVERSION="9.3.6.1" ?>
This has worked fine so far, but with version 9.4.4.3 PostgreSQL has changed the format of the Version value in the registry to semantic versioning like 9.4.4-3.
With a new define
<?define POSTGRESQLSEMANTICVERSION="9.4.4-3" ?>
the DetectCondition
DetectCondition="(PostgreSQLx64= v$(var.POSTGRESQLSEMANTICVERSION))"
will cause the error
Error 0x8007000d: Failed to parse condition '(PostgreSQLx64= v9.4.4-3)' at
position: 22
So I thought the v before the $ will handle the compare as a Version compare but when I remove it I will get the error ...
Setting string variable 'PostgreSQLx64' to value '9.4.4-3'
...
Error 0x8007000d: Failed to parse condition "(PostgreSQLx64= 9.4.4-3)".
Unexpected character at position 17.
How do I have to change my detect condition to get it working?
Many thanks,
Thomas
____________________________________________________________________
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