From 8ab56ae9d87afef35149b4f1be2acca7b6422203 Mon Sep 17 00:00:00 2001 From: 2Shirt <2xShirt@gmail.com> Date: Sat, 21 Oct 2023 18:50:20 -0700 Subject: [PATCH] Replace UninstallView with BCUninstaller Addresses issue #223 --- scripts/auto_repairs.py | 2 +- scripts/wk/cfg/sources.py | 3 +-- scripts/wk/kit/build_win.py | 25 +++++++++---------------- scripts/wk/repairs/win.py | 26 +++++++++++++------------- 4 files changed, 24 insertions(+), 32 deletions(-) diff --git a/scripts/auto_repairs.py b/scripts/auto_repairs.py index 61af1c8f..f2c27976 100644 --- a/scripts/auto_repairs.py +++ b/scripts/auto_repairs.py @@ -61,7 +61,7 @@ BASE_MENUS = { ), 'Manual Steps': ( MenuEntry('AdwCleaner', 'auto_adwcleaner'), - MenuEntry('UninstallView', 'auto_uninstallview'), + MenuEntry('Bulk Crap Uninstaller', 'auto_bcuninstaller'), MenuEntry('Enable Windows Updates', 'auto_windows_updates_enable'), ), }, diff --git a/scripts/wk/cfg/sources.py b/scripts/wk/cfg/sources.py index d6905e22..f5edfad7 100644 --- a/scripts/wk/cfg/sources.py +++ b/scripts/wk/cfg/sources.py @@ -33,6 +33,7 @@ SOURCES = { 'BleachBit': 'https://download.bleachbit.org/BleachBit-4.4.2-portable.zip', 'BlueScreenView32': 'http://www.nirsoft.net/utils/bluescreenview.zip', 'BlueScreenView64': 'http://www.nirsoft.net/utils/bluescreenview-x64.zip', + 'BCUninstaller': 'https://github.com/Klocman/Bulk-Crap-Uninstaller/releases/download/v5.7/BCUninstaller_5.7_portable.zip', 'DDU': 'https://www.wagnardsoft.com/DDU/download/DDU%20v18.0.6.8.exe', 'ERUNT': 'http://www.aumha.org/downloads/erunt.zip', 'Everything32': 'https://www.voidtools.com/Everything-1.4.1.1024.x86.zip', @@ -49,8 +50,6 @@ SOURCES = { 'OpenShell': 'https://github.com/Open-Shell/Open-Shell-Menu/releases/download/v4.4.191/OpenShellSetup_4_4_191.exe', 'PuTTY': 'https://the.earth.li/~sgtatham/putty/latest/w32/putty.zip', 'SDIO Torrent': 'https://www.glenn.delahoy.com/downloads/sdio/SDIO_Update.torrent', - 'UninstallView32': 'https://www.nirsoft.net/utils/uninstallview.zip', - 'UninstallView64': 'https://www.nirsoft.net/utils/uninstallview-x64.zip', 'WizTree': 'https://diskanalyzer.com/files/wiztree_4_15_portable.zip', 'XMPlay': 'https://support.xmplay.com/files/20/xmplay385.zip?v=47090', 'XMPlay 7z': 'https://support.xmplay.com/files/16/xmp-7z.zip?v=800962', diff --git a/scripts/wk/kit/build_win.py b/scripts/wk/kit/build_win.py index 213bdefb..194ffd38 100644 --- a/scripts/wk/kit/build_win.py +++ b/scripts/wk/kit/build_win.py @@ -177,6 +177,14 @@ def download_ddu() -> None: ) delete_from_temp('DDU.exe') + +def download_bcuninstaller() -> None: + """Download Bulk Crap Uninstaller.""" + archive = download_to_temp('BCU.zip', SOURCES['BCUninstaller']) + extract_to_bin(archive, 'BCUninstaller') + delete_from_temp('BCU.zip') + + def download_erunt() -> None: """Download ERUNT.""" archive = download_to_temp('erunt.zip', SOURCES['ERUNT']) @@ -364,21 +372,6 @@ def download_snappy_driver_installer_origin() -> None: delete_from_temp('fake.7z') -def download_uninstallview() -> None: - """Download UninstallView.""" - archive_32 = download_to_temp('uninstallview32.zip', SOURCES['UninstallView32']) - archive_64 = download_to_temp('uninstallview64.zip', SOURCES['UninstallView64']) - out_path = BIN_DIR.joinpath('UninstallView') - extract_archive(archive_64, out_path, 'UninstallView.exe') - rename_item( - out_path.joinpath('UninstallView.exe'), - out_path.joinpath('UninstallView64.exe'), - ) - extract_archive(archive_32, out_path) - delete_from_temp('uninstallview32.zip') - delete_from_temp('uninstallview64.zip') - - def download_wiztree() -> None: """Download WizTree.""" archive = download_to_temp('wiztree.zip', SOURCES['WizTree']) @@ -490,6 +483,7 @@ def build_kit() -> None: try_print.run('BleachBit...', download_bleachbit) try_print.run('BlueScreenView...', download_bluescreenview) try_print.run('ERUNT...', download_erunt) + try_print.run('BulkCrapUninstaller...', download_bcuninstaller) try_print.run('DDU...', download_ddu) try_print.run('Everything...', download_everything) try_print.run('FastCopy...', download_fastcopy) @@ -502,7 +496,6 @@ def build_kit() -> None: try_print.run('OpenShell...', download_openshell) try_print.run('PuTTY...', download_putty) try_print.run('Snappy Driver Installer...', download_snappy_driver_installer_origin) - try_print.run('UninstallView...', download_uninstallview) try_print.run('WizTree...', download_wiztree) try_print.run('XMPlay...', download_xmplay) try_print.run('XMPlay Music...', download_xmplay_music) diff --git a/scripts/wk/repairs/win.py b/scripts/wk/repairs/win.py index 39417083..924d48f4 100644 --- a/scripts/wk/repairs/win.py +++ b/scripts/wk/repairs/win.py @@ -649,6 +649,14 @@ def auto_bleachbit(group, name) -> None: save_settings(group, name, result=result) +def auto_bcuninstaller(group, name) -> None: + """Run BCUninstaller.""" + result = TRY_PRINT.run( + 'BCUninstaller...', run_bcuninstaller, msg_good='DONE', + ) + save_settings(group, name, result=result) + + def auto_chkdsk(group, name) -> None: """Run CHKDSK repairs.""" needs_reboot = False @@ -825,14 +833,6 @@ def auto_system_restore_set_size(group, name) -> None: save_settings(group, name, result=result) -def auto_uninstallview(group, name) -> None: - """Run UninstallView.""" - result = TRY_PRINT.run( - 'UninstallView...', run_uninstallview, msg_good='DONE', - ) - save_settings(group, name, result=result) - - def auto_windows_updates_disable(group, name) -> None: """Disable Windows Updates.""" result = TRY_PRINT.run('Disable Windows Updates...', disable_windows_updates) @@ -1058,6 +1058,11 @@ def run_bleachbit(cleaners, preview=True) -> None: ) +def run_bcuninstaller() -> None: + """Run BCUninstaller.""" + run_tool('BCUninstaller', 'BCUninstaller') + + def run_hitmanpro() -> None: """Run HitmanPro scan.""" log_path = format_log_path(log_name='HitmanPro', timestamp=True, tool=True) @@ -1185,11 +1190,6 @@ def run_tdsskiller() -> None: run_tool('TDSSKiller', 'TDSSKiller', *cmd_args, download=True) -def run_uninstallview() -> None: - """Run UninstallView.""" - run_tool('UninstallView', 'UninstallView') - - # OS Built-in Functions def create_custom_power_plan(enable_sleep=True, keep_display_on=False) -> None: """Create new power plan and set as active."""