(imported comment written by dunk63)
here is what i got with your queries.
q: (name of it, service pack major version of it, x64 of it) of operating system
A: WinXP, 2, False
q: (name of it, value “DisplayName” of it, value “DisplayVersion” of it) of keys whose (name of it ends with “6000-11D3-8CFE-0050048383C9}”) of key “HKLM\Software\Microsoft\Windows\CurrentVersion\Uninstall” of registry
A: {90110409-6000-11D3-8CFE-0050048383C9}, Microsoft Office XP Professional, 10.0.6626.0
A: {90170409-6000-11D3-8CFE-0050048383C9}, Microsoft FrontPage 2002, 10.0.6626.0
A: {903A0409-6000-11D3-8CFE-0050048383C9}, Microsoft Project Standard 2002, 10.0.8326.0
q: (name of it, value “DisplayName” of it, value “DisplayVersion” of it) of keys whose (name of it ends with “6000-11D3-8CFE-0050048383C9}”) of key “HKLM\Software\Microsoft\Windows\CurrentVersion\Uninstall” of registry
A: {90110409-6000-11D3-8CFE-0050048383C9}, Microsoft Office XP Professional, 10.0.6626.0
A: {90170409-6000-11D3-8CFE-0050048383C9}, Microsoft FrontPage 2002, 10.0.6626.0
A: {903A0409-6000-11D3-8CFE-0050048383C9}, Microsoft Project Standard 2002, 10.0.8326.0
q: if (exists keys whose ((value “DisplayName” of it as string as lowercase contains “microsoft”) AND (value “DisplayName” of it as string contains “Project”)) of keys “HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall” of registry) then ((unique values of ((value “DisplayName” of it as string) of (keys whose ((value “DisplayName” of it as string as lowercase contains “microsoft”) AND (value “DisplayName” of it as string contains “Project”)) of key “HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall” of registry)))) else “N/A”
A: Microsoft Project Standard 2002
Does this help?