import os import subprocess import time def run_cmd(cmd): try: subprocess.check_call(cmd, shell=True) return 0 except subprocess.CalledProcessError as e: return e.returncode def spm_install(dir): try: os.chdir(dir) cmd = r'ccsetup_offline_setup.exe /AUTO /SILENT' rc = run_cmd(cmd) time.sleep(10) # Kill auto-launched UI os.system('taskkill /F /IM CCleaner.exe >nul 2>&1') os.system('taskkill /F /IM CCleaner64.exe >nul 2>&1') # Disable service (optional hardening) os.system('sc stop CCleaner >nul 2>&1') os.system('sc config CCleaner start= disabled >nul 2>&1') # Remove startup entry os.system(r'reg delete "HKCU\Software\Microsoft\Windows\CurrentVersion\Run" /v CCleaner /f >nul 2>&1') print('retcode' + str(rc) + 'retcode') except Exception as e: print('retcode1retcode') def spm_uninstall(): try: # Uninstall main app uninstall_cmd = r'"C:\Program Files\CCleaner\uninst.exe" /S' rc = run_cmd(uninstall_cmd) time.sleep(5) # Kill processes os.system('taskkill /F /IM CCleaner.exe >nul 2>&1') os.system('taskkill /F /IM CCleaner64.exe >nul 2>&1') os.system('taskkill /F /IM icarus.exe >nul 2>&1') # Remove leftover folders os.system(r'rd /s /q "C:\Program Files\CCleaner"') os.system(r'rd /s /q "C:\Program Files (x86)\CCleaner"') os.system(r'rd /s /q "C:\Program Files\Common Files\Piriform\Icarus"') # Remove registry leftovers os.system(r'reg delete "HKLM\SOFTWARE\Piriform" /f >nul 2>&1') os.system(r'reg delete "HKCU\Software\Piriform" /f >nul 2>&1') print('retcode' + str(rc) + 'retcode') except Exception as e: print('retcode1retcode') def spm_update(dir): try: os.chdir(dir) # Reinstall latest version cmd = r'ccsetup_offline_setup.exe /AUTO /SILENT' rc = run_cmd(cmd) time.sleep(10) # Kill UI again os.system('taskkill /F /IM CCleaner.exe >nul 2>&1') os.system('taskkill /F /IM CCleaner64.exe >nul 2>&1') print('retcode' + str(rc) + 'retcode') except Exception as e: print('retcode1retcode')