Visual Studio Community 2022

Domande sul packaging WAPT / Richieste e assistenza sui pacchetti Wapt.
Regole del forum
Regole del forum della community
* Supporto in inglese su www.reddit.com/r/wapt
* Supporto della community in francese disponibile su questo forum
* Si prega di anteporre [RISOLTO] al titolo dell'argomento se è stato risolto.
* Si prega di non modificare un argomento contrassegnato con [RISOLTO]. Aprire un nuovo argomento facendo riferimento a quello precedente.
* Specificare la versione di WAPT installata, la versione completa e il numero di build (2.2.1.11957 / 2.2.2.12337 / ecc.) nonché l'edizione Enterprise/Discovery.
* Le versioni 1.8.2 e precedenti non sono più supportate. Le uniche domande accettate relative alla versione 1.8.2 riguardano l'aggiornamento a una versione supportata (2.1, 2.2, ecc.).
* Specificare il sistema operativo del server (Linux/Windows) e la versione (Debian Buster/Bullseye - CentOS 7 - Windows Server 2012/2016/2019).
* Specificare il sistema operativo della macchina di amministrazione/creazione dei pacchetti e della macchina con l'agente problematico, se applicabile (Windows 7/10/11/Debian 11/ecc.).
* Evitare di porre più domande quando si apre una discussione, altrimenti potrebbe essere ignorata. Se ci sono più discussioni, aprirle separatamente, preferibilmente una dopo l'altra e non tutte contemporaneamente (ovvero, non intasare il forum).
* Includere frammenti di codice, screenshot e altre immagini direttamente nel post. I link a Pastebin, Bitly e altri siti di terze parti verranno sistematicamente rimossi.
* Come in qualsiasi forum della community, il supporto è fornito volontariamente dai membri. Se si necessita di supporto commerciale, è possibile contattare il reparto vendite di Tranquil IT al numero 02.40.97.57.55
Risposta
Olivier Schmitt
Messaggi: 45
Registrazione: 22 ottobre 2024 - 13:25

1 settembre 2026 - 20:12

Buongiorno,

A volte riscontro errori di installazione con questo pacchetto:
https://wapt.tranquil.it/store/fr/tis-v ... -community

Codice: Seleziona tutto

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

Ecco la funzione in questione:

Codice: Seleziona tutto

# Upgrading the software
    [b]if installed_softwares(name=app_name) and need_install(name=app_name, min_version=control.get_software_version()):[/b]
       [b] bin_path = makepath(programfiles32, "Microsoft Visual Studio", "Installer", "setup.exe")[/b]
        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,
        )

In effetti, a volte installed_softwares(name=app_name) restituisce:

Codice: Seleziona tutto

>>> 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")
>>>[b] installed_softwares(name=app_name)[/b]
[{'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}]
Ma questo non esiste:

Codice: Seleziona tutto

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

Per risolvere il problema, devo rimuovere la voce di registro relativa al programma di disinstallazione utilizzando i comandi seguenti, quindi eliminare le cartelle specificate nella funzione di disinstallazione e la cartella localVSlayout:

Codice: Seleziona tutto

>>> 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")
[]
>>>
Sarebbe possibile aggiungere quanto segue alla funzione def uninstall():

Codice: Seleziona tutto

soft = installed_softwares(name="Visual Studio Community 2022")
if soft:
    unregister_uninstall(soft[0]["key"])[/b]
Oppure forse sarebbe meglio testarlo in questo modo nella funzione di installazione:

Codice: Seleziona tutto

    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,
        )
italbot
Messaggi: 104
Registrazione: 26 settembre 2023 - 15:50

2 settembre 2026 - 10:18

Ciao,

posso dare un'occhiata. Riscontri questo problema con qualche versione in particolare? Così posso testarlo da parte mia.

Cordiali saluti,

Ingrid
Tranquillo IT
Risposta