Need help debugging relevance

(imported topic written by Kenz91)

Can anyone tell me why when I put this in the relevance tester and evaluate I get “Error: This expression contained a character which is not allowed”

((exists KEY “HKLM\SOFTWARE\IBM\ADSM\CurrentVersion\BackupClient” of registry) and ((value “PtfLevel” of key “HKLM\SOFTWARE\IBM\ADSM\CurrentVersion\BackupClient” of registry as string as version) < "))

(imported comment written by jeremylam)

Have you tried the single-clause mode of the Fixlet Debugger (Ctrl-2)? It should specify and highlight the prohibited character.

When I copy that relevance into my Fixlet Debugger it evaluates fine.

(imported comment written by Kenz91)

Ok I figured out that for some reason it works on the normal debugger. I was using Lei relevance tester. Weird. Anyway I’ve run into a new problem with the same relevance code. When I run it against Win2003 server 32 bit it works fine. When I run it against Win2003 64 bit it reports back false even though the exact same key is in the registry. Is there some difference between the 32 bit and 64 bit that would cause this? I’m stumped.

(imported comment written by Kenz91)

Never mind. Didn’t realize there were different registries and they need to be specified in the relevance.

(imported comment written by jeremylam)

It is a little confusing at first. The Client is 32-bit and looks at the 32-bit registry with the “registry” inspector, whereas regedit shows the 64-bit registry and abstracts the 32-bit registry into the “Wow6432Node” branch. It’s part of how Windows in 64-bit looks like a 32-bit environment to 32-bit apps.

You will need to use different inspectors to access the 64-bit registry: x64 registry, native registry.

Ben has an example here: http://forum.bigfix.com/viewtopic.php?id=4311