|
This post has NOT been accepted by the mailing list yet.
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
|