Fix APPX registry key generation (GH-17489)
This commit is contained in:
parent
a1a99b4bb7
commit
e89e159b18
|
@ -339,7 +339,17 @@ def _get_registry_entries(ns, root="", d=None):
|
||||||
for key, value in d.items():
|
for key, value in d.items():
|
||||||
if key == "_condition":
|
if key == "_condition":
|
||||||
continue
|
continue
|
||||||
elif isinstance(value, dict):
|
if value is SPECIAL_LOOKUP:
|
||||||
|
if key == "SysArchitecture":
|
||||||
|
value = {
|
||||||
|
"win32": "32bit",
|
||||||
|
"amd64": "64bit",
|
||||||
|
"arm32": "32bit",
|
||||||
|
"arm64": "64bit",
|
||||||
|
}[ns.arch]
|
||||||
|
else:
|
||||||
|
raise ValueError(f"Key '{key}' unhandled for special lookup")
|
||||||
|
if isinstance(value, dict):
|
||||||
cond = value.get("_condition")
|
cond = value.get("_condition")
|
||||||
if cond and not cond(ns):
|
if cond and not cond(ns):
|
||||||
continue
|
continue
|
||||||
|
@ -349,16 +359,6 @@ def _get_registry_entries(ns, root="", d=None):
|
||||||
if len(fullkey.parts) > 1:
|
if len(fullkey.parts) > 1:
|
||||||
yield str(fullkey), None, None
|
yield str(fullkey), None, None
|
||||||
yield from _get_registry_entries(ns, fullkey, value)
|
yield from _get_registry_entries(ns, fullkey, value)
|
||||||
elif value is SPECIAL_LOOKUP:
|
|
||||||
if key == "SysArchitecture":
|
|
||||||
return {
|
|
||||||
"win32": "32bit",
|
|
||||||
"amd64": "64bit",
|
|
||||||
"arm32": "32bit",
|
|
||||||
"arm64": "64bit",
|
|
||||||
}[ns.arch]
|
|
||||||
else:
|
|
||||||
raise ValueError(f"Key '{key}' unhandled for special lookup")
|
|
||||||
elif len(r.parts) > 1:
|
elif len(r.parts) > 1:
|
||||||
yield str(r), key, value
|
yield str(r), key, value
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue