1
0
mirror of https://gitee.com/sui-feng-cb/AzurLaneAutoScript1 synced 2026-03-29 15:07:14 +08:00

Fix: Uninstall registry not closed

This commit is contained in:
LmeSzinc
2026-03-28 18:32:55 +08:00
parent 0c4f46180e
commit b703cb10ea

View File

@@ -50,10 +50,11 @@ class VirtualBoxEmulator:
return root
try:
reg = winreg.OpenKey(winreg.HKEY_LOCAL_MACHINE, f'{self.UNINSTALL_REG}\\{self.name}', 0)
with winreg.OpenKey(winreg.HKEY_LOCAL_MACHINE, f'{self.UNINSTALL_REG}\\{self.name}', 0) as reg:
res = winreg.QueryValueEx(reg, 'UninstallString')[0]
except FileNotFoundError:
reg = winreg.OpenKey(winreg.HKEY_LOCAL_MACHINE, f'{self.UNINSTALL_REG_2}\\{self.name}', 0)
res = winreg.QueryValueEx(reg, 'UninstallString')[0]
with winreg.OpenKey(winreg.HKEY_LOCAL_MACHINE, f'{self.UNINSTALL_REG_2}\\{self.name}', 0) as reg:
res = winreg.QueryValueEx(reg, 'UninstallString')[0]
file = re.search('"(.*?)"', res)
file = file.group(1) if file else res
@@ -70,17 +71,17 @@ class VirtualBoxEmulator:
str: Installation dir or None
"""
try:
reg = winreg.OpenKey(winreg.HKEY_LOCAL_MACHINE, path, 0)
root = winreg.QueryValueEx(reg, key)[0]
if os.path.exists(root):
return root
with winreg.OpenKey(winreg.HKEY_LOCAL_MACHINE, path, 0) as reg:
root = winreg.QueryValueEx(reg, key)[0]
if os.path.exists(root):
return root
except FileNotFoundError:
pass
try:
reg = winreg.OpenKey(winreg.HKEY_CURRENT_USER, path, 0)
root = winreg.QueryValueEx(reg, key)[0]
if os.path.exists(root):
return root
with winreg.OpenKey(winreg.HKEY_CURRENT_USER, path, 0) as reg:
root = winreg.QueryValueEx(reg, key)[0]
if os.path.exists(root):
return root
except FileNotFoundError:
pass