Bundle: DetectCondition with semantic versioning

classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view

Bundle: DetectCondition with semantic versioning

Thomas Deboben
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"

and a DetectCondition in the ExePackage

DetectCondition="(PostgreSQLx64= v$(var.POSTGRESQLFULLVERSION))"


This has worked fine so far, but with version PostgreSQL has changed the format of the Version value in the registry to semantic versioning like 9.4.4-3.

With a new define


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,