Page 1 sur 1

[RESOLU] Utilisation de dism avec WUA

Publié : 18 févr. 2026 - 16:23
par Mikael S
Bonjour,

Vous avez peut-être eu un problème pour réparer une image Windows avec dism en mode Online avec WUA. WAPT bloque l'action. L'outil doit sans doute passer par WSU.

Voici un petit paquet qui permet de contourner le problème sous réserve de préparer une image avec la bonne version.
Avec aussi un audit rapide pour avertir d'une corruption du système.

Code : Tout sélectionner

# -*- coding: utf-8 -*-
from setuphelpers import *

def install():
    if force:
        if not isdir(r'c:\tmp'):
            mkdirs(r'c:\tmp')

        winver = windows_version(4)

        with open(r"c:\tmp\install.wim", "wb") as file:
            with WAPT.waptserver.get_requests_session(use_ssl_auth=True) as session:
                with session.get("%s/%s" % (WAPT.waptserver.server_url, f"wapt/scripts/dism/{winver}.wim"),
                            timeout=WAPT.waptserver.timeout,
                            auth=None,
                            allow_redirects=True,
                            stream=True) as response:
                    if response.status_code == 404:
                        error(f'Version {winver} non gérée, merci de prendre contact avec le mainteneur')
                    for chunk in response.iter_content(chunk_size=8192):
                        file.write(chunk)

        print(run('DISM /Online /Cleanup-image /Scanhealth', timeout=900))
        print(run(r'DISM /Online /Cleanup-image /Restorehealth /Source:wim:c:\tmp\install.wim:1 /LimitAccess', timeout=900))
        print(run('sfc /scannow', timeout=900))

        remove_file(r'c:\tmp\install.win')

def audit():
    dism = run('DISM /Online /Cleanup-image /CheckHealth')

    print(dism)

    if "réparable" in dism:
        return "WARNING"
    else:
        return("OK")
Et la procédure

Récupérer l'install.wim original depuis une iso

Monter l'iso sous Windows puis copier le fichier X:\Sources\install.wim
Exporter ensuite uniquement la version Windows Pro avec la commande

Dism /Export-Image /SourceImageFile:"C:\install.wim" /SourceIndex:6 /DestinationImageFile:"C:\origin.wim"

Il est aussi possible de récupérer le wim généré avant pour que les mises à jour prennent moins de temps
Pour cela, copier juste l'ancien wim en origin.wim


Générer une image cumulative

Si nécessaire créer le dossier c:\mount

Monter l'image

Mount-WindowsImage -Path C:\mount -ImagePath c:\origin.wim -Index 1

Télécharger la cumulative sur https://www.catalog.update.microsoft.co ... -framework
Un seul des deux paquets est nécessaire, celui le plus gros

Ajouter la cumulative à l'image

Add-WindowsPackage -path c:\mount -PackagePath C:\windows11.0-kbxxxxx-xxxxxxxxxxxxxxxxxxxxxxxxxx.msu

Sauvegarder l'image

Dismount-WindowsImage -Path C:\mount -Save

Exporter l'image en indiquant le numéro de version Windows exemple 10.0.26100.7623

DISM.exe /Export-Image /SourceImageFile:c:\origin.wim /DestinationImageFile:c:\numero_version_windows.wim /SourceIndex:1

Le fichier origin.wim doit être régénéré pour être utilisé à nouveau

Copier le fichier obtenu sur le serveur wapt dans /var/www/wapt/scripts/dism
Pensez à attribuer les droits à www-data

Re: Utilisation de dism avec WUA

Publié : 18 févr. 2026 - 17:53
par sfonteneau
Mikael S a écrit : 18 févr. 2026 - 16:23 WAPT bloque l'action. L'outil doit sans doute passer par WSU.
Non nous ne passons pas par wsus

En revanche on coupe et on réactive le service windows update a la demande. Peu être juste que le service windows update est couper qui pose problème

Nous utilisons ni plus ni moins que ça : https://learn.microsoft.com/en-us/windo ... s=vbscript

D'ailleurs depuis windows 11 24h2 les installation sont faite avec la commande dism :

dism.exe /Online /Quiet /NoRestart /Add-Package /PackagePath:kb.msu

Re: Utilisation de dism avec WUA

Publié : 03 mars 2026 - 10:15
par Mikael S
Effectivement, si j'active temporairement le service, cela passe. Au temps pour moi. C'est plus simple ainsi

Re: Utilisation de dism avec WUA

Publié : 16 mars 2026 - 10:11
par dcardon
Bonjour Mikaël,

merci pour le retour :-) . Je passe le topic en résolu.

Denis