And the answer is for WAPT:
#for old uninstaller bug
print("Déinstallation des anciennes versions")
if os.path.isfile(f'{sysdrive}\\Program Files\\DIAL GmbH\\DIALux\\uninstall.exe'):
run(f'"{sysdrive}\\Program Files\\DIAL GmbH\\DIALux\\uninstall.exe" /U:"{sysdrive}\\Program Files\\DIAL GmbH\\DIALux\\Uninstall\\uninstall.xml" /s')
if os.path.isfile(f'{sysdrive}\\Program Files (x86)\\DIAL GmbH\\Data Dispatcher\\uninstall.exe'):
run(f'"{sysdrive}\\Program Files (x86)\\DIAL GmbH\\Data Dispatcher\\uninstall.exe" /U:"{sysdrive}\\Program Files (x86)\\DIAL GmbH\\Data Dispatcher\\Uninstall\\uninstall.xml" /s')
if os.path.isfile(f'{sysdrive}\\Program Files (x86)\\DIAL GmbH\\DIAL Communication Framework\\uninstall.exe'):
run(f'"{sysdrive}\\Program Files (x86)\\DIAL GmbH\\DIAL Communication Framework\\uninstall.exe" /U:"{sysdrive}\\Program Files (x86)\\DIAL GmbH\\DIAL Communication Framework\\Uninstall\\uninstall.xml" /s')
#for normal uninstall
old_softs = installed_softwares('DIALux evo')
for soft in old_softs:
print("Uninstall Dialux evo vers:" + soft['version'])
run(WAPT.uninstall_cmd(soft['key']))
old_softs = installed_softwares('DIAL Data Dispatcher')
for soft in old_softs:
print("Uninstall DIAL Data Dispatcher vers:" + soft['version'])
run(WAPT.uninstall_cmd(soft['key']))
old_softs = installed_softwares('DIAL Communication')
for soft in old_softs:
print("Uninstall DIAL Communication vers:" + soft['version'])
run(WAPT.uninstall_cmd(soft['key']))
print("netoyage répertoire")
old_dir=f'C:\\Program Files\\DIAL GmbH'
if isdir(old_dir):
remove_tree(old_dir)
bin_name = glob.glob("DIALux*.exe")[0]
ini_installation = makepath(basedir,"silentsetup.ini")
sflags = f'/s:"{ini_installation}"'
install_exe_if_needed(
bin_name,
silentflags=sflags
)