Page 1 sur 1

Visual Studio Community 2022

Publié : 01 sept. 2026 - 20:12
par OlivierSchmitt
Bonjour,

Il m'arrive d'avoir des installations en erreurs sur ce paquet:
https://wapt.tranquil.it/store/fr/tis-v ... -community

Traceback (most recent call last):
File "C:\Program Files (x86)\wapt\common.py", line 4534, in install_wapt
exitstatus = setup.install()
File "C:\Program Files (x86)\wapt\private\tmp\waptb94tqg96\setup.py", line 102, in install
File "C:\Program Files (x86)\wapt\common.py", line 4451, in new_func
return func(*args, **kwargs)
File "C:\Program Files (x86)\wapt\setuphelpers_windows.py", line 1746, in install_exe_if_needed
error('setup exe file %s not found in package' % exe)
File "C:\Program Files (x86)\wapt\waptutils.py", line 2198, in error
raise EWaptSetupException('Fatal error : %s' % reason)
waptutils.EWaptSetupException: Fatal error : setup exe file C:\Program Files (x86)\Microsoft Visual Studio\Installer\setup.exe not found in package

EWaptSetupException: Fatal error : setup exe file C:\Program Files (x86)\Microsoft Visual Studio\Installer\setup.exe not found in package


Voici la fonction en cause:

# Upgrading the software
if installed_softwares(name=app_name) and need_install(name=app_name, min_version=control.get_software_version()):
bin_path = makepath(programfiles32, "Microsoft Visual Studio", "Installer", "setup.exe")
install_exe_if_needed(
bin_path,
# /finalizeInstall --passive or --quiet
silentflags=r'update --layoutPath "C:\localVSlayout" --in "C:\localVSlayout\Response.json" --force --nocache --noUpdateInstaller --noWeb --quiet --norestart',
name=app_name,
min_version=control.get_software_version(),
get_version = get_version,
timeout=2500,
# time_wait_uninstallkey_present=5000,
)


En effet, il arrive que installed_softwares(name=app_name) renvoie:

>>> from setuphelpers import *
>>> bin_name = "vs_setup.exe"
>>> app_name = "Visual Studio Community 2022"
>>> dir_name = "localVSlayout"
>>> temp_dir = makepath(systemdrive, dir_name)
>>> app_dir = makepath(programfiles,"Microsoft Visual Studio","2022")
>>> installed_softwares(name=app_name)
[{'key': '908e4091', 'name': 'Visual Studio Community 2022', 'version': '17.14.36', 'install_date': '2026-07-15 00:00:00', 'install_location': 'C:\\Program Files\\Microsoft Visual Studio\\2022\\Community', 'uninstall_string': '"C:\\Program Files (x86)\\Microsoft Visual Stud
io\\Installer\\setup.exe" uninstall --installPath "C:\\Program Files\\Microsoft Visual Studio\\2022\\Community"', 'publisher': 'Microsoft Corporation', 'system_component': 0, 'win64': False}]

Mais que cela n'existe pas:
C:\Windows\System32\config\systemprofile>dir "c:\Program Files (x86)\Microsoft Visual Studio\
Le volume dans le lecteur C s’appelle Windows
Le numéro de série du volume est 60CB-EC76

Répertoire de c:\Program Files (x86)\Microsoft Visual Studio

29/07/2026 11:34 <DIR> .
01/09/2026 19:19 <DIR> ..
15/07/2026 16:13 <DIR> Shared
0 fichier(s) 0 octets
3 Rép(s) 176 418 471 936 octets libres


Afin de résoudre le problème je dois supprimer l'entrée du registre de l'uninstaller avec les commandes ci dessous puis supprimer les dossiers comme dans la fonction uninstall et le dossier localVSlayout:

>>> soft = installed_softwares(name="Visual Studio Community 2022")
>>> soft
[{'key': '908e4091', 'name': 'Visual Studio Community 2022', 'version': '17.14.36', 'install_date': '2026-07-15 00:00:00', 'install_location': 'C:\\Program Files\\Microsoft Visual Studio\\2022\\Community', 'uninstall_string': '"C:\\Program Files (x86)\\Microsoft Visual Stud
io\\Installer\\setup.exe" uninstall --installPath "C:\\Program Files\\Microsoft Visual Studio\\2022\\Community"', 'publisher': 'Microsoft Corporation', 'system_component': 0, 'win64': False}]
>>> unregister_uninstall(soft[0]["key"])
>>> installed_softwares(name="Visual Studio Community 2022")
[]
>>>

Serait-il possible d'ajouter dans def uninstall():
soft = installed_softwares(name="Visual Studio Community 2022")
if soft:
unregister_uninstall(soft[0]["key"])


ou vaut-il peut-être mieux tester ainsi dans la fonction install:

if installed_softwares(name=app_name) and need_install(name=app_name, min_version=control.get_software_version()):
bin_path = makepath(programfiles32, "Microsoft Visual Studio", "Installer", "setup.exe")
if isfile(bin_path):
install_exe_if_needed(
bin_path,
# /finalizeInstall --passive or --quiet
silentflags=r'update --layoutPath "C:\localVSlayout" --in "C:\localVSlayout\Response.json" --force --nocache --noUpdateInstaller --noWeb --quiet --norestart',
name=app_name,
min_version=control.get_software_version(),
get_version = get_version,
timeout=2500,
# time_wait_uninstallkey_present=5000,
)