From a8783ac3519d39cfb8f41b7e29fa1f3e291e1007 Mon Sep 17 00:00:00 2001 From: JonnyWong16 <9099342+JonnyWong16@users.noreply.github.com> Date: Mon, 27 Apr 2020 19:49:14 -0700 Subject: [PATCH] Check if Windows registry value exists before trying to delete --- plexpy/windows.py | 22 +++++++++++++++------- 1 file changed, 15 insertions(+), 7 deletions(-) diff --git a/plexpy/windows.py b/plexpy/windows.py index ced93c5c..d56e0ffa 100644 --- a/plexpy/windows.py +++ b/plexpy/windows.py @@ -150,12 +150,20 @@ def set_startup(): return False else: + # Check if registry value exists try: registry_key = winreg.OpenKey(winreg.HKEY_CURRENT_USER, startup_reg_path, 0, winreg.KEY_ALL_ACCESS) - winreg.DeleteValue(registry_key, common.PRODUCT) - winreg.CloseKey(registry_key) - logger.info("Removed Tautulli from Windows system startup registry key.") - return True - except WindowsError as e: - logger.error("Failed to delete Windows system startup registry key: %s", e) - return False + winreg.QueryValueEx(registry_key, common.PRODUCT) + reg_value_exists = True + except WindowsError: + reg_value_exists = False + + if reg_value_exists: + try: + winreg.DeleteValue(registry_key, common.PRODUCT) + winreg.CloseKey(registry_key) + logger.info("Removed Tautulli from Windows system startup registry key.") + return True + except WindowsError as e: + logger.error("Failed to delete Windows system startup registry key: %s", e) + return False