Page 1 sur 1

Paquet "Mise à jour cumulative pour .NET Framework pour Windows 10, version 1809 et Windows Server 2019"

Posté : 18 sept. 2024 - 11:41
par jlatieule
Bonjour,


Je viens de me créer un paquet permettant de faire la "Mise à jour cumulative pour .NET Framework 3.5, 4.7.2 et 4.8 pour Windows 10, version 1809 et Windows Server 2019"

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

Plus spécifiquement la KB5042350 du 13 août 2024

Selon si c'est le .NET Framework 4.8 ou postérieur, le fichier msu est différent.
Les version peuvent être retrouvée dans le registre, plus d'information sur https://learn.microsoft.com/fr-fr/dotne ... -installed

Bonne continuation à tous


Code : Tout sélectionner

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: Paquet "Mise à jour cumulative pour .NET Framework pour Windows 10, version 1809 et Windows Server 2019"

Posté : 18 sept. 2024 - 11:49
par jlatieule
Par contre sur les serveurs ayant le .NET Framework 4.8 d'installé. L'installation du msu retourne un exit statut à 2
Si j'exécute graphiquement l'installation, je n'ai pas de message d'erreur... si je relance l'installation, j'ai l'information que le msg est déjà installé

Voici le log d'installation et je ne sais pas comment améliorer la situation

Code : Tout sélectionner

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: Paquet "Mise à jour cumulative pour .NET Framework pour Windows 10, version 1809 et Windows Server 2019"

Posté : 20 sept. 2024 - 13:09
par sfonteneau
Bonjour

Il faudrais lancer la commande :

Code : Tout sélectionner

wusa.exe "windows10.0-kb5041974-x64-ndp48_e8660214346c8ac124e2f99aa21eef697fff307d" /quiet /norestart
visiblement elle ne fonctionne pas sur la machine

si vous enlevez ensuite le /quiet vous aurez surement un message d'erreur affichier pour comprendre pourquoi ça ne veux pas

Re: Paquet "Mise à jour cumulative pour .NET Framework pour Windows 10, version 1809 et Windows Server 2019"

Posté : 25 sept. 2024 - 15:16
par jlatieule
Je ne comprenais pas pourquoi avec la commande exécuté sur le serveur ça fonctionnait

J'avais oublié l'extension du fichier msu dans le setup.py
Le problème est résolu