Dies ist jedoch nicht der Fall; wie sich mit Process Monitor feststellen lässt, werden Abfragen innerhalb von HKEY_LOCAL_MACHINE\SOFTWARE in den WOW6432Node umgeleitet."Registry": "[<registry key>] <value name>"
Aus der Registry wird in <registry key> der Wert von <value name> ausgelesen.
Das Auslesen der Registry erfolgt Architektur spezifisch. Das heißt, auf einem 64 Bit System wird der 64 Bit Zweig der Registry ausgelesen.
Meine Vermutung ist, dass es daran liegt, dass getRegistryValue ohne spezifische Architekturangabe aufgerufen wird, wodurch platform.architecture geprüft wird:
Code: Alles auswählen
def getRegistryValue(key, subKey, valueName, view: Literal["32bit", "64bit", "sysnative"] = "sysnative"):
"""
Get the value of a registry key.
A view can be specified to explicitly read from the 32bit or 64bit registry view.
If no view is specified, a WOW process will be redirected to the corresponding registration view.
"""
if view == "sysnative":
view = "64bit" if "64" in platform.architecture()[0] else "32bit"
Code: Alles auswählen
{
"Class": {
"Type": "STRUCTURAL",
"Opsi": "BUG_REPORT_TEST"
},
"Values": [
{
"Type": "tinyint",
"Scope": "g",
"Opsi": "VersionMajor",
"Registry": "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\7-Zip]VersionMajor"
}
]
}
Bei welchen Versionen der beteiligten Komponenten tritt das Problem auf?
[ul]
[*]opsi-client-agent: 4.3.19.9-1
[*]hwaudit: 4.3.2.3-1 sowie 4.3.2.5-1
[/ul]