PGP Relevance question

I am trying to deploy a new version of Symantec Encryption Desktop (formerly PGP). Here is the relevance that was built in the software wizard from the MSI I need to deploy:

/* Relevance generated from file "PGPDesktop64internal.msi" */
(exists file "msiexec.exe" of system folder) AND (disjunction of (NOT exists keys "{061A8C03-B286-40CB-882D-01BA44691048}" whose ( value "DisplayVersion" of  it as string as version < "10.3.2.21274" as version AND value "Language" of it as string = "1033") of keys "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows \CurrentVersion\Uninstall" of ( x32 registry; (if exists x64 registry then x64 registry else nothing) ))) AND 

/* Relevance for msi launch condition: 'NOT Version9X' */
/**/
( (Not (name of it starts with "Win9" or name of it = "WinME") of operating system) ) AND 

/* Relevance for msi launch condition: 'NOT VersionNT OR (VersionNT >= 500)' */
/**/
( (major version of it * 100 + minor version of it) of operating system < 500 OR ( (major version of it * 100 + minor version of it) of operating system >=  500 ) ) AND 

/* Could not transform launch condition: 'IEVERSION >= 501' into Relevance, Could not recognize the following properties: IEVERSION*/
true

I did change value “DisplayVersion” of it as string as version < “10.3.2.21274” from >= to the < sign; hoping it would detect all machines that have a version below 10.3.2.21274. (I also need to deploy to machines that have no PGP installed.)

It seemed to be working at first, but I have deployed it, but then machines that it have been deployed it still show the fixlet as being relevant. I can then push the fixlet to my test machines and it will run again, when it should not be relevant.

What is wrong with my relevance statement?

Any reason there is a space " " in your Registry path after "\Windows "?

(exists file "msiexec.exe" of system folder) AND (disjunction of (NOT exists keys "{061A8C03-B286-40CB-882D-01BA44691048}" whose ( value "DisplayVersion" of  it as string as version < "10.3.2.21274" as version AND value "Language" of it as string = "1033") of keys "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows \CurrentVersion\Uninstall" of ( x32 registry; (if exists x64 registry then x64 registry else nothing) ))) AND

That path won’t EVER exist, so your clause will ALWAYS be TRUE.

Fixed that. I must have done that during a copy and paste operation somewhere.

Would it be better to use:

exists file “C:\Program Files (x86)\PGP Corporation\PGP Desktop\PGPdesk.exe” whose (version of it < “10.3.2.21274”)

to check for endpoints with lower than the .21274 version installed?

Have you checked a computer with QnA after you have run the Fixlet against it?

Something isn’t working with the Relevance (obviously!). I recommend breaking the query into it’s various components and seeing which one is not behaving as expected.

Q: exists keys "{061A8C03-B286-40CB-882D-01BA44691048}" of ( x32 registry; (if exists x64 registry then x64 registry else nothing) )

Q: exists keys "{061A8C03-B286-40CB-882D-01BA44691048}" whose (value "DisplayVersion" of  it as string as version < "10.3.2.21274" as version) of ( x32 registry; (if exists x64 registry then x64 registry else nothing) )

etc ...