From 673a92b3233df5e26a1984fe80a9de558ffbeb83 Mon Sep 17 00:00:00 2001 From: 2Shirt <2xShirt@gmail.com> Date: Wed, 15 Sep 2021 09:19:15 -0600 Subject: [PATCH] Add install_vcredists() --- scripts/auto_setup.py | 2 +- scripts/wk/cfg/tools.py | 6 ++++++ scripts/wk/setup/__init__.py | 1 + scripts/wk/setup/win.py | 21 ++++++++++++++++++++- 4 files changed, 28 insertions(+), 2 deletions(-) diff --git a/scripts/auto_setup.py b/scripts/auto_setup.py index 8d87958a..73febb4b 100644 --- a/scripts/auto_setup.py +++ b/scripts/auto_setup.py @@ -109,7 +109,7 @@ BASE_MENUS = { MenuEntry('Set Custom Power Plan', 'auto_set_custom_power_plan'), ), 'Install Software': ( - MenuEntry('Visual C++ Runtimes', no_op), # only 2012, 2013, & 2019 rest are EOL + MenuEntry('Visual C++ Runtimes', 'auto_install_vcredists'), #MenuEntry('ESET NOD32 Antivirus', no_op), MenuEntry('LibreOffice', no_op), MenuEntry('Open Shell Skin', no_op), diff --git a/scripts/wk/cfg/tools.py b/scripts/wk/cfg/tools.py index 03eca518..7e7081cd 100644 --- a/scripts/wk/cfg/tools.py +++ b/scripts/wk/cfg/tools.py @@ -57,6 +57,12 @@ SOURCES = { 'smartmontools': 'https://1278-105252244-gh.circle-artifacts.com/0/builds/smartmontools-win32-setup-7.3-r5216.exe', 'TDSSKiller': 'https://media.kaspersky.com/utilities/VirusUtilities/EN/tdsskiller.exe', 'TestDisk': 'https://www.cgsecurity.org/testdisk-7.2-WIP.win.zip', + 'VCRedist_2012_x32': 'https://download.microsoft.com/download/1/6/B/16B06F60-3B20-4FF2-B699-5E9B7962F9AE/VSU_4/vcredist_x86.exe', + 'VCRedist_2012_x64': 'https://download.microsoft.com/download/1/6/B/16B06F60-3B20-4FF2-B699-5E9B7962F9AE/VSU_4/vcredist_x64.exe', + 'VCRedist_2013_x32': 'https://aka.ms/highdpimfc2013x86enu', + 'VCRedist_2013_x64': 'https://aka.ms/highdpimfc2013x64enu', + 'VCRedist_2019_x32': 'https://aka.ms/vs/16/release/vc_redist.x86.exe', + 'VCRedist_2019_x64': 'https://aka.ms/vs/16/release/vc_redist.x64.exe', 'wimlib32': 'https://wimlib.net/downloads/wimlib-1.13.3-windows-i686-bin.zip', 'wimlib64': 'https://wimlib.net/downloads/wimlib-1.13.3-windows-x86_64-bin.zip', 'WinAIO Repair': 'http://www.tweaking.com/files/setups/tweaking.com_windows_repair_aio.zip', diff --git a/scripts/wk/setup/__init__.py b/scripts/wk/setup/__init__.py index 33b5ea29..3e5683bb 100644 --- a/scripts/wk/setup/__init__.py +++ b/scripts/wk/setup/__init__.py @@ -5,3 +5,4 @@ import platform #if platform.system() == 'Windows': # from . import win +from . import win diff --git a/scripts/wk/setup/win.py b/scripts/wk/setup/win.py index 0a28041d..0c8a1685 100644 --- a/scripts/wk/setup/win.py +++ b/scripts/wk/setup/win.py @@ -268,7 +268,26 @@ def update_main_menu(menus): # Auto Setup: Wrapper Functions -## TODO +def auto_install_vcredists(): + """Install latest supported Visual C++ runtimes.""" + TRY_PRINT.run('Visual C++ Runtimes...', install_vcredists) + +# Install Functions +def install_vcredists(): + """Install latest supported Visual C++ runtimes.""" + for year in (2012, 2013, 2019): + cmd_args = ['/install', '/passive', '/norestart'] + if year == 2012: + cmd_args.pop(0) + name = f'VCRedist_{year}_x32' + download_tool('VCRedist', name) + installer = get_tool_path('VCRedist', name) + run_program([installer, *cmd_args]) + if ARCH == '64': + name = f'{name[:-2]}64' + download_tool('VCRedist', name) + installer = get_tool_path('VCRedist', name) + run_program([installer, *cmd_args]) # Misc Functions ## TODO?