Visual Studio Community 2022

Questions about WAPT Packaging / Requêtes et aides autour des paquets Wapt.
Règles du forum
Règles du forum communautaire
* English support on www.reddit.com/r/wapt
* Le support communautaire en français se fait sur ce forum
* Merci de préfixer le titre du topic par [RESOLU] s'il est résolu.
* Merci de ne pas modifier un topic qui est taggé [RESOLU]. Ouvrez un nouveau topic en référençant l'ancien
* Préciser version de WAPT installée, version complète ET numéro de build (2.2.1.11957 / 2.2.2.12337 / etc.) AINSI QUE l'édition Enterprise / Discovery
* Les versions 1.8.2 et antérieures ne sont plus maintenues. Les seules questions acceptées vis à vis de la version 1.8.2 sont liés à la mise à jour vers une version supportée (2.1, 2.2, etc.)
* Préciser OS du serveur (Linux / Windows) et version (Debian Buster/Bullseye - CentOS 7 - Windows Server 2012/2016/2019)
* Préciser OS de la machine d'administration/création des paquets et de la machine avec l'agent qui pose problème le cas échéant (Windows 7 / 10 / 11 / Debian 11 / etc.)
* Eviter de poser plusieurs questions lors de l'ouverture de topic, sinon il risque d'être ignorer. Si plusieurs sujet, ouvrir plusieurs topic, et de préférence les uns après les autres et pas tous en même temps (ie ne pas spammer le forum).
* Inclure directement les morceaux de code, les captures d'écran et autres images directement dans le post. Les liens vers les pastebin, les bitly et autres sites tierces seront systématiquement supprimés.
* Comme tout forum communautaire, le support est fait bénévolement par les membres. Si vous avez besoin d'un support commercial, vous pouvez contacter le service commercial Tranquil IT au 02.40.97.57.55
OlivierSchmitt
Messages : 45
Inscription : 22 oct. 2024 - 13:25

01 sept. 2026 - 20:12

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,
)
Répondre