diff --git a/scripts/wk/kit/tools.py b/scripts/wk/kit/tools.py index 4aef66e3..e24ae07b 100644 --- a/scripts/wk/kit/tools.py +++ b/scripts/wk/kit/tools.py @@ -63,6 +63,7 @@ def download_file(out_path, source_url, as_new=False, overwrite=False): def download_tool(folder, name): """Download tool.""" + name_arch = f'{name}{ARCH}' out_path = find_kit_dir('.bin').joinpath(f'{folder}/{name}.exe') up_to_date = False @@ -77,9 +78,15 @@ def download_tool(folder, name): LOG.info('Skip downloading up-to-date tool: %s', name) return + # Get ARCH specific URL if available + if name_arch in SOURCES: + source_url = SOURCES[name_arch] + out_path = out_path.with_stem(name_arch) + else: + source_url = SOURCES[name] + # Download LOG.info('Downloading tool: %s', name) - source_url = SOURCES[name] try: new_file = download_file(out_path, source_url, as_new=True) new_file.replace(out_path) @@ -140,10 +147,12 @@ def find_kit_dir(name=None): def get_tool_path(folder, name, check=True): """Get tool path, returns pathlib.Path""" bin_dir = find_kit_dir('.bin') + name_arch = f'{name}{ARCH}' # "Search" - tool_path = bin_dir.joinpath(f'{folder}/{name}{ARCH}.exe') - if not tool_path.exists(): + tool_path = bin_dir.joinpath(f'{folder}/{name_arch}.exe') + if not (tool_path.exists() or name_arch in SOURCES): + # Use "default" path instead tool_path = tool_path.with_stem(name) # Missing? diff --git a/scripts/wk/repairs/win.py b/scripts/wk/repairs/win.py index 0b7d7174..9526c410 100644 --- a/scripts/wk/repairs/win.py +++ b/scripts/wk/repairs/win.py @@ -845,10 +845,7 @@ def run_hitmanpro(): log_path = log_path.with_suffix('.xml') log_path.parent.mkdir(parents=True, exist_ok=True) cmd_args = ['/scanonly', f'/log={log_path}'] - run_tool( - 'HitmanPro', f'HitmanPro{"64" if ARCH=="64" else ""}', - *cmd_args, download=True, - ) + run_tool('HitmanPro', 'HitmanPro', *cmd_args, download=True) def run_iobit_uninstaller():