[wix-users] Bundle: DetectCondition with semantic versioning
Thomas.Deboben.ext at rohde-schwarz.com
Thomas.Deboben.ext at rohde-schwarz.com
Mon Aug 24 02:46:02 PDT 2015
<a href="http://www.quantcast.com/p-34EL1DZyJypTI" target="_blank"
rel="nofollow"> <img src="
http://pixel.quantserve.com/pixel/p-34EL1DZyJypTI.gif" style="display:
none;" border="0" height="1" width="1" alt="Quantcast"/> </a>
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
More information about the wix-users
mailing list