Pagina 1 di 1

Pacchetto "Aggiornamento cumulativo per .NET Framework per Windows 10, versione 1809 e Windows Server 2019"

Pubblicato: 18 settembre 2024 - 11:41
di jlatieule
Buongiorno,


Ho appena creato un pacchetto per eseguire l'"Aggiornamento cumulativo per .NET Framework 3.5, 4.7.2 e 4.8 per Windows 10, versione 1809 e Windows Server 2019"

https://support.microsoft.com/fr-fr/top ... f09e30fcf3

Più specificamente, KB5042350 del 13 agosto 2024

Il file msu è diverso a seconda che si tratti di .NET Framework 4.8 o di una versione successiva.
Le versioni si trovano nel registro; maggiori informazioni su https://learn.microsoft.com/fr-fr/dotne ... -installato

Buona fortuna a tutti


Codice: Seleziona tutto

from setuphelpers import *
import re

r"""
Usable WAPT package functions: install(), uninstall(), session_setup(), audit(), update_package()

"""
# Declaring global variables - Warnings: 1) WAPT context is only available in package functions; 2) Global variables are not persistent between calls


def install():
    with EnsureWUAUServRunning():
        # Choix du MSU en fonction du .NET Framework
        if registry_readstring(HKEY_LOCAL_MACHINE,'SOFTWARE\\Microsoft\\NET Framework Setup\\NDP\\v4\\Full','Release') >= '528040' :
            # .NET Framework 4.8 ou plus
            kb_files = [
                'windows10.0-kb5041974-x64-ndp48_e8660214346c8ac124e2f99aa21eef697fff307d',
                ]
        else:
            # .NET Framework 3.5 à 4.7.2
            kb_files = [
                'windows10.0-kb5041913-x64_b00cd2de1915f11b56c21d7001962f67854afe07.msu',
                ]
        for kb_file in kb_files:
            kb_guess = re.findall(r'^.*-(KB.*)-',kb_file)
            if not kb_guess or not is_kb_installed(kb_guess[0]):
                print("Installation de {}".format(kb_file))
                run('wusa.exe "{}" /quiet /norestart'.format(kb_file), accept_returncodes=[0, 3010, 2359302, -2145124329], timeout=1800)
            else:
                print("{} est déjà installé".format(kb_file))

    if is_pending_reboot():
        print("Un redémarrage est nécessaire !")

Re: Pacchetto "Aggiornamento cumulativo per .NET Framework per Windows 10, versione 1809 e Windows Server 2019"

Pubblicato: 18 settembre 2024 - 11:49
di jlatieule
Tuttavia, sui server con installato .NET Framework 4.8, l'installazione MSU restituisce uno stato di uscita pari a 2
Se eseguo l'installazione graficamente, non ricevo alcun messaggio di errore... ma se riavvio l'installazione, ricevo il messaggio che il messaggio è già installato

Ecco il registro di installazione e non so come migliorare la situazione

Codice: Seleziona tutto

Ensure wuauserv Auto Update option is disabled
Installation de windows10.0-kb5041974-x64-ndp48_e8660214346c8ac124e2f99aa21eef697fff307d
re-enabling wuauserv previous state: 0
Erreur lors de l'installation de ['ophlm-kb5042350(=1.1.0-4)']: erreurs dans les paquets [[PackageRequest(package='ophlm-kb5042350',version=(Version('1.1.0.0'), 4),architectures=['x64'],locales=['fr'],maturities=['PROD'],tags=['windows-10', 'win-10', 'w-10', 'windows10', 'win10', 'w10', 'windows', 'win', 'w'],min_os_version=Version('10.0.17763'),max_os_version=Version('10.0.17763')), PackageEntry('ophlm-kb5042350','1.1.0-4' architecture='x64',maturity='PROD',target_os='windows'), 'Traceback (most recent call last):\n  File "C:\\Program Files (x86)\\wapt\\common.py", line 5348, in install\n    result = self.install_wapt(p.localpath,\n  File "C:\\Program Files (x86)\\wapt\\common.py", line 4328, in install_wapt\n    raise e\n  File "C:\\Program Files (x86)\\wapt\\common.py", line 4235, in install_wapt\n    exitstatus = setup.install()\n  File "C:\\Windows\\TEMP\\waptxgn6fxcm\\setup.py", line 28, in install\n  File "C:\\Program Files (x86)\\wapt\\common.py", line 3991, in run\n    return ensure_unicode(run(*arg, pidlist=self.pidlist,**args))\n  File "C:\\Program Files (x86)\\wapt\\waptutils.py", line 2177, in run\n    raise CalledProcessErrorOutput(proc.returncode, cmd, \'\'.join(output))\nwaptutils.CalledProcessErrorOutput: Command \'wusa.exe "windows10.0-kb5041974-x64-ndp48_e8660214346c8ac124e2f99aa21eef697fff307d" /quiet /norestart\' returned non-zero exit status 2.\nOutput:\n']]
Traceback (most recent call last):
  File "<string>", line 1943, in run
  File "C:\Program Files (x86)\wapt\waptservice\waptservice_common.py", line 737, in run
    self._run()
  File "C:\Program Files (x86)\wapt\waptservice\waptservice_common.py", line 1341, in _run
    raise Exception(_('Error during install of {}: errors in packages {}').format(
Exception: Erreur lors de l'installation de ['ophlm-kb5042350(=1.1.0-4)']: erreurs dans les paquets [[PackageRequest(package='ophlm-kb5042350',version=(Version('1.1.0.0'), 4),architectures=['x64'],locales=['fr'],maturities=['PROD'],tags=['windows-10', 'win-10', 'w-10', 'windows10', 'win10', 'w10', 'windows', 'win', 'w'],min_os_version=Version('10.0.17763'),max_os_version=Version('10.0.17763')), PackageEntry('ophlm-kb5042350','1.1.0-4' architecture='x64',maturity='PROD',target_os='windows'), 'Traceback (most recent call last):\n  File "C:\\Program Files (x86)\\wapt\\common.py", line 5348, in install\n    result = self.install_wapt(p.localpath,\n  File "C:\\Program Files (x86)\\wapt\\common.py", line 4328, in install_wapt\n    raise e\n  File "C:\\Program Files (x86)\\wapt\\common.py", line 4235, in install_wapt\n    exitstatus = setup.install()\n  File "C:\\Windows\\TEMP\\waptxgn6fxcm\\setup.py", line 28, in install\n  File "C:\\Program Files (x86)\\wapt\\common.py", line 3991, in run\n    return ensure_unicode(run(*arg, pidlist=self.pidlist,**args))\n  File "C:\\Program Files (x86)\\wapt\\waptutils.py", line 2177, in run\n    raise CalledProcessErrorOutput(proc.returncode, cmd, \'\'.join(output))\nwaptutils.CalledProcessErrorOutput: Command \'wusa.exe "windows10.0-kb5041974-x64-ndp48_e8660214346c8ac124e2f99aa21eef697fff307d" /quiet /norestart\' returned non-zero exit status 2.\nOutput:\n']]

Exception: Erreur lors de l'installation de ['ophlm-kb5042350(=1.1.0-4)']: erreurs dans les paquets [[PackageRequest(package='ophlm-kb5042350',version=(Version('1.1.0.0'), 4),architectures=['x64'],locales=['fr'],maturities=['PROD'],tags=['windows-10', 'win-10', 'w-10', 'windows10', 'win10', 'w10', 'windows', 'win', 'w'],min_os_version=Version('10.0.17763'),max_os_version=Version('10.0.17763')), PackageEntry('ophlm-kb5042350','1.1.0-4' architecture='x64',maturity='PROD',target_os='windows'), 'Traceback (most recent call last):\n  File "C:\\Program Files (x86)\\wapt\\common.py", line 5348, in install\n    result = self.install_wapt(p.localpath,\n  File "C:\\Program Files (x86)\\wapt\\common.py", line 4328, in install_wapt\n    raise e\n  File "C:\\Program Files (x86)\\wapt\\common.py", line 4235, in install_wapt\n    exitstatus = setup.install()\n  File "C:\\Windows\\TEMP\\waptxgn6fxcm\\setup.py", line 28, in install\n  File "C:\\Program Files (x86)\\wapt\\common.py", line 3991, in run\n    return ensure_unicode(run(*arg, pidlist=self.pidlist,**args))\n  File "C:\\Program Files (x86)\\wapt\\waptutils.py", line 2177, in run\n    raise CalledProcessErrorOutput(proc.returncode, cmd, \'\'.join(output))\nwaptutils.CalledProcessErrorOutput: Command \'wusa.exe "windows10.0-kb5041974-x64-ndp48_e8660214346c8ac124e2f99aa21eef697fff307d" /quiet /norestart\' returned non-zero exit status 2.\nOutput:\n']]
Traceback (most recent call last):
  File "<string>", line 1943, in run
  File "C:\Program Files (x86)\wapt\waptservice\waptservice_common.py", line 737, in run
    self._run()
  File "C:\Program Files (x86)\wapt\waptservice\waptservice_common.py", line 1341, in _run
    raise Exception(_('Error during install of {}: errors in packages {}').format(
Exception: Erreur lors de l'installation de ['ophlm-kb5042350(=1.1.0-4)']: erreurs dans les paquets [[PackageRequest(package='ophlm-kb5042350',version=(Version('1.1.0.0'), 4),architectures=['x64'],locales=['fr'],maturities=['PROD'],tags=['windows-10', 'win-10', 'w-10', 'windows10', 'win10', 'w10', 'windows', 'win', 'w'],min_os_version=Version('10.0.17763'),max_os_version=Version('10.0.17763')), PackageEntry('ophlm-kb5042350','1.1.0-4' architecture='x64',maturity='PROD',target_os='windows'), 'Traceback (most recent call last):\n  File "C:\\Program Files (x86)\\wapt\\common.py", line 5348, in install\n    result = self.install_wapt(p.localpath,\n  File "C:\\Program Files (x86)\\wapt\\common.py", line 4328, in install_wapt\n    raise e\n  File "C:\\Program Files (x86)\\wapt\\common.py", line 4235, in install_wapt\n    exitstatus = setup.install()\n  File "C:\\Windows\\TEMP\\waptxgn6fxcm\\setup.py", line 28, in install\n  File "C:\\Program Files (x86)\\wapt\\common.py", line 3991, in run\n    return ensure_unicode(run(*arg, pidlist=self.pidlist,**args))\n  File "C:\\Program Files (x86)\\wapt\\waptutils.py", line 2177, in run\n    raise CalledProcessErrorOutput(proc.returncode, cmd, \'\'.join(output))\nwaptutils.CalledProcessErrorOutput: Command \'wusa.exe "windows10.0-kb5041974-x64-ndp48_e8660214346c8ac124e2f99aa21eef697fff307d" /quiet /norestart\' returned non-zero exit status 2.\nOutput:\n']]

Re: Pacchetto "Aggiornamento cumulativo per .NET Framework per Windows 10, versione 1809 e Windows Server 2019"

Pubblicato: 20 settembre 2024 - 13:09
di sfontenau
Buongiorno

Dovrebbe essere eseguito il seguente comando:

Codice: Seleziona tutto

wusa.exe "windows10.0-kb5041974-x64-ndp48_e8660214346c8ac124e2f99aa21eef697fff307d" /quiet /norestart
Chiaramente non funziona sulla macchina

Se poi rimuovi /quiet, probabilmente riceverai un messaggio di errore che spiega perché non funziona

Re: Pacchetto "Aggiornamento cumulativo per .NET Framework per Windows 10, versione 1809 e Windows Server 2019"

Pubblicato: 25 settembre 2024 - 15:16
di jlatieule
Non capivo perché funzionasse quando il comando veniva eseguito sul server.

Avevo dimenticato l'estensione del file .msu in setup.py.
Problema risolto.