Intégrer les mises à jour à un ISO Windows 7 ou 2008 R2

Mise à jour du 20/03/2016 : La méthode décrite ci-dessous est toujours fonctionnelle mais présente des difficultés dues à son ancienneté (cf les commentaires), l'article Intégrer les mises à jour à un ISO Windows 7 (épisode 2) décrit une méthode plus récente et plus simple.

Dans les semaines qui viennent, je vais être amené à déployer Windows 7 64 bits sur l'ensemble du parc informatique de la société (enfin sauf sur mon poste, faut pas pousser hein…), mettant ainsi fin au règne de Windows XP. Pas de problème particulier en perspective si ce ne sont d'éventuelles incompatibilités entre les plugins développés en interne (32 bits) et les futurs 3DS Max (64 bits). Message personnel pour Patrick, mon lead-artist préféré : si tu pouvais enfin te libérer quelques jours pour tester ça en profondeur, je ferai un effort pour ne plus renverser (accidentellement bien sûr !) le monceau de figurines nippones qui jonchent ton poste de travail. Mais revenons au sujet du jour, Windows 7 qui est sorti il y a maintenant 2 ans est affublé d'un Service Pack ainsi que d'un nombre non négligeable de mises à jour, typiquement le genre raffinements qui font que la procédure de mises à jour prend plus de temps que l'installation de l'OS (même avec un serveur WSUS sous le coude). L'idéal serait donc d'avoir un ISO de Windows 7 contenant l'intégralité des mises à jour. Il y a une dizaine de jours, Olivier Olejniczak de l'excellent site Synergeek, publiait un article qui allait me faciliter la tâche, la lecture de cet article est recommandée pour en apprendre un peu plus sur les fichiers .wim (que nous allons ici modifier). Olivier, donc, termine son article par la mention d'un script Powershell permettant de télécharger toutes les mises à jour concernant son OS et de les intégrer dans le fameux fichier install.wim. Je vais donc détailler la mise en œuvre de ce processus ô combien distrayant.

Pré-requis :

  • Windows 7 / 2008 R2 (64 bits dans le cas présent)
  • Powershell 2.0 (la version 3.0 pose problème)

Procédure :

On va commencer par télécharger le Microsoft Deployment Toolkit qui nous fournira tous les outils nécessaires aux futures manipulations. Une fois installé, exécuter le Deployment Workbench, se rendre dans la partie Information Center > Components et télécharger Windows Automated Installation Kit (boire 5 cafés le temps de rapatrier les 1,7 Gio).

DeployementWorkbench - Télécharger WAIK

Si vous n'aimez pas le café (et je vous plains sincèrement), vous pouvez préparer l'environnement de travail pendant ce temps :

 – Copier le contenu de l'ISO de Windows 7 dans un dossier (par exemple X:\ISO_update\Win7\), notez que l'utilisation d'un ISO contenant le SP1 est recommandé, l'ISO finale n'en sera que plus léger. Pour ceux qui n'ont pas accès facilement à ces ISO, ils sont disponibles ici (attention, je vous invite grandement à vérifier les checksum MD5 ou SHA1 de ces images pour éviter toutes mauvaises surprises, pour ma part le MD5 de l'ISO Français x64: X17-59197.iso est conforme à ce qu'il doit être – 9211b4c6f8ca317a09e32e701faf2be1)

 – Télécharger dans le dossier X:\ISO_update\ le script magique qui va intégrer les mises à jour et protéger votre machine des BSoD, de la cirrhose et de la calvitie : https://imagepatcher.codeplex.com

 – Lancer une session Powershell en mode administrateur et entrer la commande suivante afin d'autoriser les scripts non-signés (à utiliser en connaissance de cause !) :

Set-ExecutionPolicy RemoteSigned

– Si cela ne fonctionne pas, utiliser la commande suivante :

Set-ExecutionPolicy Unrestricted

 – Une fois le Windows Automated Installation Kit installé, exécuter le script de mise à jour (la procédure peut durer plusieurs dizaines de minutes selon le nombre d'images à mettre à jour) :

cd X:\ISO_update
.\imagepatcher.ps1 -dbg:no -imagefile:X:\ISO_update\Win7\sources\install.wim -patchimages:"3"

ImagePatcher

Paramètres du script :

  • dbg [yes/no] : mode verbeux
  • imagefile [path] : chemin vers le fichier .wim
  • patchimages [all/1,2,3,4…] : détermine quelle(s) image(s) mettre à jour dans le fichier .wim (éditer le fichier [1].xml contenu dans le fichier install.wim pour déterminer le numéro de chaque image, ici 1=Home Basic ; 2=Home Premium ; 3=Professional ; 4=Ultimate)

 – La procédure terminée, il ne reste plus qu'à créer un ISO bootable (plus d'infos sur les paramètres de oscdimg) :

cd C:\Program Files\Windows AIK\Tools\amd64\
.\oscdimg.exe -u2 -m -h -oc -g -bX:\ISO_update\Win7\boot\etfsboot.com X:\ISO_update\Win7 X:\win7_updated.iso

– Interdire de nouveau les scripts non-signés :

Set-ExecutionPolicy Restricted 

Bilan : l'image obtenue pèse quelques 3,3 Gio, je note cependant qu'une vingtaine de mises à jour supplémentaires sont quand même nécessaires après l'installation de OS, sans compter celles concernant .NET ou Silverlight. Toujours est-il que ce script permet d'avoir une image de Windows 7 à peu près à jour qui permettra d'économiser un temps précieux lors du déploiement des postes de travail.

Bonus : Pour ceux qui rechignent à utiliser la ligne de commande (ce que je peux comprendre, malgré tout), je suis tombé sur gDISM, un outil écrit en Java qui permet d'utiliser les possibilités de la commande dism de manière intuitive. Il ne permet pas l'intégration automatique des mises à jour mais par exemple, l'ajout de pilotes (pour ceux qui ont la chance d'avoir un parc informatique homogène…), l'activation de diverses fonctionnalités ainsi que tout un tas d'outils bien utiles à la bidouille des ISO Windows.

gDISM

Sources :

216 commentaires

  1. beaucoup plus simple avec rt seven lite freeware en français disponible ici
    version 32 bit

    lien:
    http://www.pub.rt7lite.com/7lite-rc-beta-1726-dec6-10-stable/rt_7_lite_win7_Vista_x86_sp1.exe

    MD5: ac74aec1c3e2c71ee6320e7afa89d1e1
    SHA: 2da4483a0f58925957ed2ffcead69a0c44e4d843

    version 64 bit

    lien:

    http://www.pub.rt7lite.com/7lite-rc-beta-1726-dec6-10-stable/rt_7_lite_win7_Vista_x64_sp1.exe

    MD5: 01cc97fdd1324a0a7ff867d6de21fff6
    SHA: 34747ad48305aaa08d9dc875cc5b52e629c305e0

    1. Salut,

      RT7Lite ne répond pas à la même problématique, il permet de cuisiner un ISO aux petits oignons avec l’intégration de drivers/updates, mode un-attended, désactiver/retirer des fonctions, etc (avec des conséquences parfois malheureuses, je parle d’expérience…). Il ne permet par contre pas de récupérer les mises à jour. Il est destiné à une utilisation personnelle, pas vraiment dans une optique de déploiement de masse.

      Ce tutoriel permet uniquement d’avoir un ISO complet et à jour, autant que possible. Comme je le disais dans l’article, quand l’application des mises à jour prend plus de temps que l’installation de OS, c’est assez gênant surtout avec plusieurs dizaines de postes à installer.

      1. J’ai testé R7 lite, il plante souvent et c’est une version Beta pour intégrer le Service Pack pas terrible vraiment selon moi. Cordialement.

    1. Salut,

      pour ce qui est de la suppression des mises à jour, je ne me suis pas posé la question, c’est sûrement possible en modifiant le script mais je n’en vois pas l’intérêt, les mises à jour téléchargées étant des correctifs de bugs et de sécurité (les mises à jour du style Framework .NET ou Silverlight n’étant pas incluses).

      En ce qui concerne l’ajout manuel, ça doit être possible, je jetterai un œil la prochaine fois que je mettrai à jour mes ISO.

  2. Bonjour, je souhaite intégrer les mises à jours mais pour une version 32bits de Windows Professionnel SP1. Je suppose qu’il faut simplement modifier la commande « amd64 » en « x86 » à la création de l’image?

    Aussi, est-ce que la grande majorité des MAJ jusqu’à aujourd’hui sont intégrées?

    Merci.

  3. Salut Mike,

    – Bonne question (que je ne me suis pas posée, utilisant un Win7 64 pour mettre à jour une ISO Win7 64), à première vue je dirais que ça dépend de l’architecture de l’OS « hôte » pas de celle des ISO. Je ne suis pas sûr à cent pour cent mais ce thread semble aller dans ce sens (http://www.justanswer.com/computer/65c3b-steps-create-winpe-disk-windows-intel-x64.html vers les 2/3 de la discussion) :

    Richard W. :
    What type of computer are you going to be running this on?

    Richard W. :
    If it just a standard desktop with 64-bit processor, then the correct option should be x64. ia64 is for high-end Itanium processors used in servers.

    Un moyen de vérifier cela serait d’utiliser l’architecture « amd64 » si tu es sur une machine 32 bits ou « ia64 » pour une machine 64 bits non-Itanium. Ça devrait logiquement aboutir à une erreur.

    – Le script télécharge presque toutes les mises à jour disponibles en x86 et x86_64 (cf l’article) mais n’insérera que ce qui manquent à ton ISO (le SP1 ne sera pas inséré si ton ISO le possède déjà).

    Tiens au courant de tes investigations.

    doc

  4. D’accord, merci de ta réponse.

    Alors je suis sur un OS 32bits, avec un ISO 32bits, et effectivement, je vois qu’il télécharge les mises à jour x64 y compris le SP1 qui fait tout de même 947Mo…
    Je pense que je vais pas tarder à abandonner, tant pis, ça va faire deux heures que j’y suis là…

  5. A vrai dire la partie la plus longue est le téléchargement des patches, il y en a pour environ 2,5 Gio pour Windows 7 (x86 et x86_64 inclus).

    Ensuite, la vitesse de mise à jour du fichier Wim et la génération de la nouvelle ISO dépend surtout de ta machine mais c’est l’affaire de 15-30 min (ce temps est largement amorti dès la première installation).

    Par contre il est impératif de garder son « dossier de travail », ça permet de télécharger uniquement les nouvelles mises à jour à chaque lancement du script.

  6. Par  » dossier de travail  » de travail tu entends la copie de l’ISO faite sur le PC (le dossier X:\ISO_update\Win7\)?

    C’est justement ce que je me demandais, si à chaque coup il re-téléchargeait tout ou pas.

    1. Non tu ne peux pas le mettre en pause mais tu peux le tuer et le relancer, les patches déjà téléchargés ne le seront pas de nouveau. Par contre, évite de tuer le script pendant la mise à jour du fichier Wim sous peine de devoir recommencer la procédure à zéro (sauf le téléchargement des patches, ne t’inquiète pas).

  7. Tout à fait, il s’agit même du dossier X:\ISO_update complet qui contient :
    – les patches x86 et x86_64
    – le dossier mount servant à décompresser/patcher/recompresser le fichier Wim
    – le dossier Win7 contenant la copie de l’ISO
    – un dossier que j’ai nommé « Win7-sp1-64-fr – Original » qui comme son nom l’indique contient le contenu de mon ISO.
    – quelques fichiers xml, cab et le script

    Avant chaque mise à jour, je vide le dossier « Win7 » et j’y copie le contenu de « Win7-sp1-64-fr – Original » de manière à partir d’une base solide et d’éviter de perdre du temps en copiant à partir d’un CD ou d’une image.

  8. Bonsoir, j’ai encore besoin d’aide avant de balancer le PC par la fenêtre, j’y suis depuis 15h00 je m’en sors pas…

    J’ai killer le script pendant la construction de l’image (pas le choix, j’ai dû partir), mais en voulant le relancer, j’ai eu plein d’erreurs en boucle, alors j’ai voulu tout supprimer (sauf les patches) pour refaire propre, mais là aussi j’ai dû galérer pendant 2 heures pour supprimer le dossier mount (TrustedInstaller ne voulait pas que je le supprime, seul le logiciel Unlocker m’a permis de supprimer le dossier, mais ça a été bien long…)

    Ensuite j’ai pu relancer l’image, elle a bien été montée, les updates ajoutées, mais j’ai eu droit ensuite à un « La commande s’est achevée avec des erreurs.
    Pour plus d’informations, voir le fichier journal.

    The DISM log file can be found at C:\Windows\Logs\DISM\dism.log »

    Je sais pas si c’est normal ou pas, mais 11Mo le fichier log, ça va être long d’analyser les erreurs…

    Ensuite malgré tout tout s’est bien terminé, mais en voulant créer le nouvel ISO erreur à nouveau:

    « Set-Location : Impossible de trouver un paramètre positionnel acceptant l’argument « Files\Windows ».
    Au niveau de ligne : 1 Caractère : 3
    + cd <<<< C:\Program Files\Windows AIK\Tools\amd64\
    + CategoryInfo : InvalidArgument: (:) [Set-Location], ParameterBindingException
    + FullyQualifiedErrorId : PositionalParameterNotFound,Microsoft.PowerShell.Commands.SetLocationCommand"

    Je pense que le problème viens de l'espace, en tout cas, moi je capitule…

    1. Bon ça passe en mettant le chemin entre guillemets : cd « C:\Program Files\Windows AIK\Tools\x86 ».

      Je confirme aussi que ça ne passe pas si on utilise le dossier amd64 sur un OS 32bits, il faut utiliser le dossier x86.

      Par ailleurs, quid des erreurs dans le fichier dism.log.

        1. Non en fait je viens de comprendre, j’ai pas fait de sous dossier, donc l’image est aussi grande que le dossier, c’est rien c’est la fatigue^^

          Je réintègre les mises à jours comme ça voir si j’obtiens toujours une erreur dans le fichier log.

  9. Dans ces cas-là, laisse passer la nuit, ça ira mieux demain 🙂

    Actuellement mon ISO 64 bits fait 3,4 Gio, la tienne devrait faire moins (s’il y a le même nombre de correctifs), les programmes 32 bits étant plus légers.

    Bon courage !

  10. Non c’est bon en fait, je pense avoir compris l’erreur (elle s’est reproduite) et c’est tout à fait logique, car une mise à jour semble demande la validation Genuine et ne peux être intégrée.

    Voilà ce que j’obtiens tout de suite après l’intégration des 191 mises à jours 32bits (156 sur un Windows 7 identique installé) :

    Error: 0x800f081e

    Le package spécifié n’est pas applicable à cette image.
    Le package spécifié n’est pas applicable à cette image.
    Le package spécifié n’est pas applicable à cette image.

    Le package spécifié n’est pas applicable à cette image.
    Le package spécifié n’est pas applicable à cette image.
    Le package spécifié n’est pas applicable à cette image.
    L’échec du package Package_for_KB2533552 peut être dû à des mises à jour de composants de maintenance en attente dans l’image. Réessayez la commande.
    Le package spécifié n’est pas applicable à cette image.
    Le package spécifié n’est pas applicable à cette image.
    Le package spécifié n’est pas applicable à cette image.
    Le package spécifié n’est pas applicable à cette image.

    Le package spécifié n’est pas applicable à cette image.
    Le package spécifié n’est pas applicable à cette image.
    Le package spécifié n’est pas applicable à cette image.
    La commande s’est achevée avec des erreurs.
    Pour plus d’informations, voir le fichier journal.

    The DISM log file can be found at C:\Windows\Logs\DISM\dism.log

    Cette fois-ci (quand on a pas pris trop de café et qu’on a bien dormi^^), l’image fait 2,3Gio, ce qui semble plus logique. Je fait l’installation sur clé USB, et je ferai une installation sur un disque dur de test voir ce que ça donne.

      1. Ça me parait plausible comme taille d’ISO.

        J’ai aussi quelques erreurs d’intégration de correctifs qui apparaissent dans les logs mais qui semblent sans conséquence.

  11. Je n’y arrive pas avec ce tuto…

    Je suis complètement perdu avec ce truc:
    cd C:\Program Files\Windows AIK\Tools\amd64\
    .\oscdimg.exe -u2 -m -h -oc -g -bX:\ISO_update\Win7\boot\etfsboot.com X:\ISO_update\Win7 X:\win7_updated.iso

    Vraiment mal foutu ce tuto 🙁

    1. Salut,

      il n’y a rien de bien sorcier :

      – Se placer dans le dossier contenant le programme oscdimg.exe :
      cd C:\Program Files\Windows AIK\Tools\amd64\

      – Lancer le la création de l’ISO :
      .\oscdimg.exe -u2 -m -h -oc -g -bX:\ISO_update\Win7\boot\etfsboot.com X:\ISO_update\Win7 X:\win7_updated.iso
      Si tu en es à cette étape c’est que tu a fait le plus dur !

      1. Cela n'est pas possible depuis le powershell. j'ai du passer par la console de commande standard de windows en mode admin.

         

        Mon iso fait plus de 6Go une Win 7 pro x64, je veux y intégrer tous les updates, au final, l'iso bug car au lancemenet de l'installation de celle-ci, j'obtiens peu après un message me demandant le drivers du lecteur de cd rom.

        Si vous avez un conseil…

  12. Bonjour, te décourage pas tu finira par y arriver 😉

    Qu’est-ce que tu ne comprends pas avec ces deux lignes?
    Il s’agit simplement de générer ton ISO bootable avec les fichiers précédemment patchés avec les correctifs.
    Si tu as, comme moi, une erreur avec la 1ere ligne, indique simplement le chemin (après cd donc) entre guillemets.

  13. Je viens de faire une installation avec un disque dur de test, après installation toute fraîche, Windows Update me sors 71 mises à jours à faire, et seulement 2 installé. Ouaw, super ce patch…

    Pour info, ils s’agit de la version officielle et vérifié avec le hash de l’iso : fr_windows_7_ultimate_with_sp1_x86_dvd_u_677434.iso, j’ai juste retirer un fichier de config qui permet de sélectionner la version de Windows à installer et j’ai choisi l’installation de la version Professionnelle.

    Je viens d’essayer dans le doute d’installer l’intégrale mais idem, autant de mises à jours à faire, le patch n’a rien intégré du tout en fait…

    Et j’ai bien fait patchimages: »3″ pour la version Pro donc (mais je n’ai pas compris comment ouvrir le fichier xml de install.wim)

    1. Ok c’est bon ça fonctionne (27 mises à jours proposées après installation, et IE9 n’est pas installé mais a été téléchargé par le script, bon, pas très grave).

      Alors explication, il s’agit bien du paramètre patchimages à adapter en fonction de l’image que l’on possède. Pour ce qui est des derniers ISO MSDN, le tuto ne correspond pas (l’index 3 n’est pas la version Professionnelle mais la version Home Premium).

      Donc, avant toute chose, une fois la copie de votre ISO faite dans le dossier Win7, éditer votre fichier [1].xml qui se trouver dans install.wim, pour ce faire, utilisez 7zip qui vous permettra de visualiser le contenu de install.wim et d’accéder au fichier [1].xml. Si vous utilisez les derniers ISO MSDN (qui sont dans le lien que donne Doc dans le tuto) vous aurez :

      Windows 7 Edition Starter : 1
      Windows 7 HomeBasic : 2
      Windows 7 HomePremium : 3
      Windows 7 Professionnal : 4
      Windows 7 Ultimate : 5

      Ce chiffre correspond donc à celui que vous indiquez après patchimages, à adapter à votre situation donc. Dans le doute, vous pouvez remplacer le chiffre par « all » et vous aurez toutes les images à jour, mais c’est très très très long (c’est ce que j’ai fait, dans le doute)

      Voilà, peu être quelques éléments à mettre à jour dans le tuto par rapport aux derniers commentaires?

      Merci encore.

      1. En fait le script télécharge juste les updates de IE9, mais pas le navigateur en lui même, c’est dommage…

        Il y a tout de même quasiment 200Mo de mises à jour a télécharger après le script…
        Ce qui serait génial, ce serait de pouvoir également intégrer IE9, le .Net Framework 4.0 et un pack Office, avec toutes les mises à jours associées. J’ai trouvé un autre logiciel pour téléchargé les mises à jours WSUS Offline Update, je l’essai là pour voir mais je le sens pas trop :s

  14. Fonctionne toujours pas !!! 🙁

    cd C:\Program Files\Windows AIK\Tools\amd64\
    .\oscdimg.exe -u2 -m -h -oc -g -bD:\ISO_update\Win7\boot\etfsboot.com D:\ISO_update\Win7 D:\win7_updated.iso

    @++

        1. Et quel est cette solution, si c’est les guillemets, je ne sais pas ou les ajouter, j’ai testé simple et double etc..
          J’ai besoin d’un exemple.

          @++

  15. J’ai testé ce matin

    29 mise a jour, 4 redémarrage, pour un total de 25minutes.

    Comme l’a dit mike, le script télécharge juste les updates de IE9, mais pas le navigateur en lui même…
    Intégrer IE9 et le Net Framework 4.0, serait vraiment un +

    @++

  16. Oui c’est ce que j’ai également, à peu près 3 redémarrage et une trentaine de mises à jours, en comptant IE9 et le Framework.

    J’ai essayé de les intégrer avec RT7Lite mais j’ai eu une erreur à l’installation, alors tant pis.

    1. Effectivement, il semble avoir été une victime collatérale de la chute de Megaupload. En cherchant des liens vers gDISM, on se rend compte qu’il apparaît souvent sur des sites de warez ou de DDL alors qu’il n’a rien a voir avec. Les hébergeurs n’ont pas fait de cas par cas et l’ont éradiqué de leurs plate-formes. Impossible de remettre la main dessus, il ne reste plus qu’à espérer que quelqu’un l’upload de nouveau…

  17. re bonjour,

    tu ne l’aurais pas sauvegardé toi-même par hasard?

    sinon, j’ai 1 autre question:
    j’ai fait tout ce qui est décrit dans le tuto, à la lettre
    à la fin, j’arrive à 1 image ISO d’1 taille de 6,44 Go: est-ce normal??

    1. Je pense que ça dépend de l’ISO que tu as utilisé au départ, il me semble que quand j’avais utilisé l’ISO original (sans le SP1), le poids était assez important.

      Pour ma part, je ne mets à jour que la partie Professionnal, si toutes les versions de Windows sont mises à jour, il est possible que le poids final s’en ressente.

      Normalement pour une version 64 bits, tu devrais arriver à environ 3,7 – 3,8 Gio.

    1. Je ne connaissais pas cette ISO, même si elle ne semble pas directement utilisable en temps que telle pour la mise à jour d’un Windows 7, elle n’en reste pas moins intéressante pour d’autres utilisations.

      Merci pour le lien !

  18. j’ai un probleme avec imagepatcher dans powershell, il me dit que .\imagepatcher n’est pas reconnu come nom d’applet de commande, foction ……

    commen je fait pour mettre mon install.wim a jour sans le script

    1. Salut,

      soit tu n’as pas téléchargé le script (imagepatcher ne fais pas partie des scripts livrés avec Windows), soit tu ne te places pas dans le dossier où se trouve le script pour l’exécuter.

      Dans mon exemple, je l’ai mis dans le dossier X:\ISO_update, d’où les commandes suivantes permettant de se placer dans le dossier puis d’exécuter le script :

      cd X:\ISO_update

      .\imagepatcher.ps1 -dbg:no -imagefile:X:\ISO_update\Win7\sources\install.wim -patchimages: »3″

  19. merci pour l’aide j’ai fait le transfert de mes fichier sur mon autre pc j’ai remis AIK et j’ai reussi a lancer le script

    plus haut dans les comm g lu que tu peut integrer des pilotes a l’iso

    avec quoi peut-on ajouter des soft a une install

  20. J’ai un problème lors de l’intégration des maj avec les iso téléchargé sur le site donné dans l’article.
    J’ai pris les 2 versions (x86 et x64 de windows Ultimate en Français), voici les MD5 :
    X17-59477_X86.iso f1c6ebcd2fea45f7520d7f0c4335de19
    X17-59479_X64.iso d18956f64e8a7388aad6694c015fd5ae

    Et voici l’erreur que j’ai lors de l’intégration (après de long téléchargement) des maj dans la version x86 :

    Expanding Files Complete …
    Processing win6.1×86 – Static updates
    Processing win6.1×64 – Static Updates
    Windows6.1-KB2398632-x64.msu file already downloaded, will use the old one
    Windows6.1-KB977617-x64.msu file already downloaded, will use the old one
    Processing win6.1×86
    Processing win6.1×64
    Write-Error : — Unable to process D:\tmp\ISO_update\wiminfo.xml probably caused by incorrect wim file —
    Au niveau de D:\tmp\ISO_update\imagepatcher.ps1 : 386 Caractère : 20
    + write-error <<<< "— Unable to process $scriptpath\wiminfo.xml probably caused by incorrect wim file —"
    + CategoryInfo : NotSpecified: (:) [Write-Error], WriteErrorException
    + FullyQualifiedErrorId : Microsoft.PowerShell.Commands.WriteErrorException,Microsoft.PowerShell.Commands.WriteErr
    orCommand

    Avec vous une idée ?
    Quelqu'un peut me donner les MD5 qu'il a sur les deux fichiers.
    Merci

    1. Par contre j’ai installé la version x64 de Windows Automated Installation Kit (mon OS est en x64).
      La maj de la version x64 de windows 7 fonctionne par contre j’ai des erreurs lors de la maj de la version x86, il n’arrive pas à monter l’image.
      Faut il aussi installer (et utiliser) la version x86 de Windows Automated Installation Kit pour faire la maj de l’image x86 ou je peux le faire avec la version x64 ?

  21. J’aurais tendance à penser que AIK64 peut faire la mise à jour des ISO x86, mais n’utilisant que des versions x64, je n’ai jamais pu le vérifier. Le plus simple étant d’essayer…

  22. Bonjour, après quelque essai foiree, je pense avoir évoluer. j’ai 3.77Go a la place de 3.04Go au depart.
    sa sent bon ^^je me pose une question, (je vais tester 😉 j’intègre ie9 avec RT4, et je travail l’iso ensuite…
    sa peut etrebon non?
    je test et redis sa… @ + et merci pour le boulo, si sa fonctionne je vais un temps fou au boulo.

  23. salut
    aprés avoir galéré pendant un bon moment avec des messages d’erreurs style « You cannot call a method on a null-valued expression », j’ai fini par trouver d’ou provenait le pb.
    n’installez surtout pas la v3 de powershell!!
    le script ne fonctionne qu’avec la version de powershell fournie avec windows 7.

    si ca peut aider…

  24. Bonsoir,

    j’essai votre procédure, mais malheureusement à l’exécution du scipt

    cd C:\Program Files\Windows AIK\Tools\amd64\
    .\oscdimg.exe -u2 -m -h -oc -g -bX:\ISO_update\Win7\boot\etfsboot.com X:\ISO_update\Win7 X:\win7_updated.iso

    j’obtiens le message d’erreur suivant :

    ERROR: Could not open boot sector file « X:\ISO_Update\Win7\boot\etfsboot.com

    et effectivement, il n’y a pas de dossier boot dans Win7 !

    Avez vous une idée ?

    Merci d’avance

  25. Re-bonsoir
    Egalement, a l’execution de la commande :

    cd X:\ISO_update
    .\imagepatcher.ps1 -dbg:no -imagefile:X:\ISO_update\Win7\sources\install.wim -patchimages: »3″

    j’obtiens l’erreur ci dessous

    Write-Error : — Unable to process X:\ISO_update\wiminfo.xml probably caused by incorrect wim file —
    Au niveau de X:\ISO_update\imagepatcher.ps1 : 386 Caractère : 20
    + write-error <<<< "— Unable to process $scriptpath\wiminfo.xml probably caused by incorrect wim file —"
    + CategoryInfo : NotSpecified: (:) [Write-Error], WriteErrorException
    + FullyQualifiedErrorId : Microsoft.PowerShell.Commands.WriteErrorException,Microsoft.PowerShell.Commands.WriteErr
    orCommand

    1. Bonsoir,

      je n’ai pas la VM où je fais la procédure sous la main mais je la mettrais à couper qu’il y a un dossier « boot » une fois l’ISO extraite, je fais la manip tous les mois depuis plus d’un an (on verra demain si je suis manchot…).

      Question naïve : concernant tes erreurs, ne viennent elles pas du fait que tu copies les commandes sans les adapter à ta configuration, en l’occurrence en modifiant le chemin vers les fichiers ? Le lecteur X: étant indiqué ici à titre d’exemple, dans la majorité des cas, il s’agira de C: ou D: selon le lecteur où tu as extrait l’ISO. J’ai volontairement utilisé X: pour éviter le copier/coller.

      Il y a peut-être un point à préciser dans le tutoriel à ce niveau-là…

      Pour info, tu peux extraire le contenu de l’ISO grâce à un lecteur virtuel du type CloneCD ou Daemon Tool ou plus simplement avec 7-zip.

      Tiens moi au courant !

      Doc

  26. Bonjour et merci pour ta réponse.

    Non j’ai gardé le « X: » mais en réalité je l’ai bien adapté pour mon « D: » 😉

    A priori mon souci se situe à deux niveau :

    1 – Je n’ai pas ce fameux dossier boot
    2 – Il semble qu’il y ai un souci avec imagepatcher.ps1

    Je continue de chercher…

    Bonne journée

    1. Bon !

      Je n’ai pas perdu ma main parce que j’ai bien le dossier « boot » (essaye de récupérer une ISO via le lien donné dans l’article), par contre effectivement, j’obtiens bien la même erreur que toi ensuite :

      Write-Error : — Unable to process X:\ISO_update\wiminfo.xml probably caused by incorrect wim file —
      Au niveau de X:\ISO_update\imagepatcher.ps1 : 386 Caractère : 20
      + write-error <<<< "— Unable to process $scriptpath\wiminfo.xml probably caused by incorrect wim file —"
      + CategoryInfo : NotSpecified: (:) [Write-Error], WriteErrorException
      + FullyQualifiedErrorId : Microsoft.PowerShell.Commands.WriteErrorException,Microsoft.PowerShell.Commands.WriteErr
      orCommand

      Je vais investiguer….

      Merci pour ton retour en tout cas !

      Doc

  27. Ca y es j’ai trouvé la solution à mon problème…C’était bêtement que je n’avais pas compris que dans le dossier Win7 je devais décompresser mon ISO de windows 🙁

    Je l’ai décompressé et là impeccable, il a bien réussi a exploiter le .wim.
    il m’a crée un nouvel OS que je déploie actuellement pour test.

    Je ne manquerais pas de te tenir au courant du resultat final.

    En tout cas, très bon post car très très rare sujet sur la question.

    Merci beaucoup

  28. Hello,

    Je viens de télécharger la dernière version du script et j’avais un problème pour télécharger les fichiers.
    Modifier le script:
    ligne 85:
    Remplacer
    $webfilename = $url.split(« / »)[$url.count-1]
    Par
    $webfilename = $url.split(« / »)[$url.split(« / »).count-1]

    Sinon, c’est dommage qu’il télécharge toutes les mises à jour et tente de les appliquer alors qu’on lui donne une wim SP1.

    ++

    1. Salut cortex,

      merci de ton retour, je vais modifier l’article en conséquence.

      Il est vrai que le script n’est pas entièrement adapté au SP1, maintenant il ne télécharge les mises à jour qu’une seule fois. C’est la première fois que c’est long, ensuite il ne prend que les nouvelles mises à jour.

      Qui plus est avec la probable absence de SP2 pour Windows 7, ce script va devenir de plus en plus utilise.

      1. Tu ne saurais pas s’il existe un script qui analyserait de façon plus intelligente le package.xml du package offline de wsus ? J’ai essayé de regarder le xml, mais j’ai pas trouvé de doc ni de moyen de trouver les update qui sont post-SP1. Il y a la notion de productfamily, type et d’update pré-requis. ça doit bien pouvoir se trouver quand même, l’équivalent de MBSA mais pour des images offline.

  29. Bonjour,
    Je me permet de poster cet addendum a ce tuto

    pour mieux comprendre ce que je fais: mon projet est de faire un disque dur bootable, avec grub et UBCD et Windows XP/Vista/7/8 et d’autres utilitaires de réparation

    pour le moment j’essaie de faire un .iso UNIQUE win7 x86 et x64 avec les versions EN et FR installées par défault (choisir la langue au setup sans avoir a changer le langpack a chaque install a partir d’un .iso pur EN)
    ET
    chaque version de win7 disponible dans les deux langues avec les mises a jour x)
    projet un peu fou, mais ca me trotte dans la tete depuis pas mal de temps, j’ai des clients qui possèdent une version différente de win7 que ca soit en 32 ou 64bit , que ca soit en francais ou en anglais, et surtout qui pour lesquelles a chaque fois je dois avoir le bon iso sous la main, faire une mise à jour, vous comprenez ma douleur j’espere …. vous me direz un eicfg et je suis tranquille mais non ^^

    En tout cas, mon souci etait de ne pouvoir intégrer le « imagepatcher.ps1 » dans powershell, j’avais une erreur de code ligne 156 char 13 et donc pas d’intégration.

    j’ai trouvé ce nouveau « imagepatcher.ps1 » sur un autre site :
    http://www.em-soft.si/myblog/elvis/?p=44
    mais ils précisent bien que ce n’est que pour les mises a jour critiques et de sécurité, ce qui me convient parfaitement vu que l’intégration d’IE9/10 je n’en ai pas besoin, chromium power 😛

    en tout cas si ca peut vous aider voici le lien de telechargement :
    http://www.em-soft.si/myblog/elvis/wp-content/uploads/2012/10/imagepatcher.zip

    Merci pour les infos que j’ai pu glaner ici, et a tous les reply et surtout BON COURAGE a tous

    1. Bonjour Jean-Marc,

      merci pour l’info, je testerai le script dès que possible et je mettrai le tuto à jour si nécessaire.

      Si tu arrives au bout de tes peines, n’hésite à faire un tuto de création de ton HDD bootable et à nous le faire partager.

      Pour ma part je reste fidèle à MultiSystem, mais il me semble qu’il ne permet effectivement pas d’intégrer plusieurs versions d’un Windows, ce n’est peut-être pas grand chose, il faudrait poser la question à son auteur.

      A+

      Doc

  30. bonjour,
    je suis bloqué ici sur le tuto:
    – Une fois le Windows Automated Installation Kit installé, exécuter le script de mise à jour (la procédure peut durer plusieurs dizaines de minutes selon le nombre d’images à mettre à jour) :

    cd X:\ISO_update
    .\imagepatcher.ps1 -dbg:no -imagefile:X:\ISO_update\Win7\sources\install.wim -patchimages

    à quel endroit je dois taper la ligne de commande sachant que mon windows7 ce trouve sur
    C:\Users\gilles 01\Downloads\pour faire seven avec maj\seven avec maj
    merci d’avance pour votre aide.
    gilles

  31. Bonjour,
    Mon projet: un 7×64/32 (2 images) avec maj+250 drivers+logiciel utilitaire (flash,7zip…)

    Je post pour dire merci et partager les petites galères que j’ai eu:

    287 maj c’est en cour d’intégration et une 10aine qui passent pas au départ avec l’erreur 0x8007002.
    IMPORTANT: il faut installer WAIK sur le C: sinon sa marche pas.

    @Gilles: dans la fenêtre rechercher tape « powershell » puis clic droit exécuter en tant qu’administrateur sur « windows powershell » ensuite remplace le « x » par la lettre ou tu a extrait l’image de windows.

    1. Je galère avec la création de l’iso:
      je me suis pris la tète a cause des guillemets, sa passe sans insulte en rouge comme ca:

      cd « C:\Program Files\Windows AIK\Tools\amd64″
      .\oscdimg.exe -u2 -m -h -oc -g -be:\ISO_update\Win7\boot\etfsboot.com e:\ISO_update\Win7 e:\win7_updated.iso

      mais il se passe rien…

      edit: avec la méme ligne commande sans rien toucher 1 fois sur 2 sa donne ca:

      Set-Location : Impossible de trouver un paramètre positionnel acceptant l’argument « C:\Program ».
      Au niveau de ligne : 1 Caractère : 3
      + cd <<<< « C:\Program Files\Windows AIK\Tools\amd64"
      + CategoryInfo : InvalidArgument: (:) [Set-Location], ParameterBindingException
      + FullyQualifiedErrorId : PositionalParameterNotFound,Microsoft.PowerShell.Commands.SetLocationCommand

      Le terme « .\oscdimg.exe » n'est pas reconnu comme nom d'applet de commande, fonction, fichier de script ou programm
      xécutable. Vérifiez l'orthographe du nom, ou si un chemin d'accès existe, vérifiez que le chemin d'accès est correct
      réessayez.
      Au niveau de ligne : 4 Caractère : 14
      + .\oscdimg.exe <<<< -u2 -m -h -oc -g -be:\ISO_update\Win7\boot\etfsboot.com e:\ISO_update\Win7 e:\win7_updated.iso
      + CategoryInfo : ObjectNotFound: (.\oscdimg.exe:String) [], CommandNotFoundException
      + FullyQualifiedErrorId : CommandNotFoundException

      j'ai test avec toute les positions possible de guillemet, espace ou pad y'a rien a faire…

      sa va se finir par une création d'iso sous néro… c'est sale mais la je trouve pas ce que fait travers.

  32. Je m’arrache les cheveux: parfois sa donne rien avec ou sans guillemet sa passe a la ligne mais rien ne se lance.
    je ferme powershell, je copie la même ligne de commande et la erreur en rouge…

    1. Salut Asto,

      Peut-être n’est-ce pas là ton erreur mais une précision quand même (dans le doute…) :

      cd C:\Program Files\Windows AIK\Tools\amd64\
      .\oscdimg.exe -u2 -m -h -oc -g -bX:\ISO_update\Win7\boot\etfsboot.com X:\ISO_update\Win7 X:\win7_updated.iso

      Ce sont 2 commandes distinctes :
      cd C:\Program Files\Windows AIK\Tools\amd64\ (permet de se placer dans le dossier C:\Program Files\Windows AIK\Tools\amd64\)

      .\oscdimg.exe -u2 -m -h -oc -g -bX:\ISO_update\Win7\boot\etfsboot.com X:\ISO_update\Win7 X:\win7_updated.iso (lance l’exécutable qui crée l’ISO)

      Tiens moi au courant,

      Doc

  33. Merci de ta réponse rapide:
    l’une aprés l’autre il se passe rien non plus:

    PS C:\Users\Asto> cd « C:\Program Files\Windows AIK\Tools\amd64″
    >> .\oscdimg.exe -u2 -m -h -oc -g -be:\ISO_update\Win7\boot\etfsboot.com e:\ISO_update\Win7 e:\win7_updated.iso
    >>

    sa reste comme ca sans rien faire…

    je m’absente jusqu’a ce soir.

  34. je m’en sortit autrement grace a ce tuto:
    http://www.pcastuces.com/pratique/windows/7/dvd_windows7_bootable/page1.htm

    pour les flemards:

    http://www.gibni.com/dl/cdimage.EXE a placer a la racine du c:

    la ligne com que j’ai modif remplacé X par votre lettre de lecteur et copier coller dans l’invite de commande:

    cdimage.exe -lWINDOWS7_DVD -m -u2 -bX:\ISO_update\win7\boot\etfsboot.com X:\ISO_update\win7 X:\WINDOWS7x64.iso

    le fichier win mis a jour fait 3.9go j’obtien une image de 4.35go

  35. bonjour à tous,
    merci Asto pour ta réponse mais pour le moment j’ai laissé tombé je reprendrais un peu plus tard.
    par contre si tu arrive à faire ton seven je suis preneur sans probème.
    bonne continuation à vous tous.
    super site Docgreen.
    @+ gilles

    1. Salut Gilles,

      merci du compliment !

      Malheureusement, mon activité professionnelle ne me laisse plus de temps pour alimenter le site (je n’ai d’ailleurs plus de temps pour grand chose) mais j’essaie d’assurer un minimum de SAV.

      Je me rappelle quand Lionel de l’excellent podcast TechnoIT a décidé d’arrêter pour la même raison, j’étais vraiment déçu mais comme je le comprend maintenant.

      Néanmoins j’ai quelques sujet d’articles qui trainent dan un coin du cerveau et qui verront peut-être le jour bientôt.

      A+

      Doc

  36. mon image finale fera + de 5go, donc impossible a upload ici avec une connexion 1 méga qui plante presque tout les jours… (je suis a l’étranger).

  37. Salut Asto,

    il est probable que les mises à jour concernées ne soient pas des mises à jour de sécurité directement liées à Windows mais plutôt à des programmes connexes du type .NET4.0 ou DirectX.

    Je n’ai d’ailleurs jamais réussi à toutes les intégrer dans l’image.

    De toute façon, ces mises à jour ne s’installent jamais en même temps que les autres, du coup, il faut les installer à part. Dans ces cas là un serveur WSUS est bien utile.

    A+

    Doc

  38. Après enquête, les maj qui manquent sont des correctifs d’autre maj ou comme tu dit te programmes tierce.
    de plus la totalité des maj ne fait que 70 mo c’est donc un gros progrès.
    tu devrai préciser dans ton tuto qu’il faut enlever le dossier x64 ou x86 selon le windows qu’on souhaite modifier par la suite, sa retire quand même 1.24go ou 2.6go (x64).
    Encore merci pour ce tuto.
    @Gilles: je rentre en France le 17-18 avril (fibre optique inside) , si tu dispose d’un serveur ftp je pourrai t’upload mes iso.

    1. merci Asto., mais pas de seveur.
      par contre si tu veux je te fais parvenir tous le nécessaire.
      timbre enveloppe dvd etc…
      en tous cas merci beaucoup et bravo.
      @+ gilles

  39. merci Asto., mais pas de seveur.
    par contre si tu veux je te fais parvenir tous le nécessaire.
    timbre enveloppe dvd etc…
    en tous cas merci beaucoup et bravo.
    @+ gilles

  40. Bonjour,

    J’ai des erreurs récurrentes lors de la commande :

    .\imagepatcher.ps1 -dbg:yes -imagefile:C:\ISO_update\Win7\sources\install.wim -patchimages: »3″

    (où -patchimages: »3″, correspond à Home Premium d’après le fichier « [1].xml » : –

    J’obtiens comme erreur, en début de téléchargement, par exemple :

    DÉBOGUER : Checking elevated rights
    DÉBOGUER : C:\ISO_update
    DÉBOGUER : C:\Program Files\Windows AI
    DÉBOGUER : C:\Program Files\Windows AI
    DÉBOGUER : C:\ISO_update\mount
    DÉBOGUER : Detecting imagex and dism
    DÉBOGUER : Checkging download dirs
    DÉBOGUER : Downloading wsusscn2.cab
    DÉBOGUER : C:\ISO_update\wsusscn2.cab

    Mon ISO est « X17-59009.iso », correspondant à l’officiel de Microsoft.
    Home Premium x64 SP1 : ece2736fc59c15f18046d45f918e5419

    Pouvez-vous m’éclairer s’il vous plaît ? :]

    Merci d’avance,

  41. Bonjour,
    intéressant comme article. Je vais tester ça car je dois passer nos machine sous seven donc si je peux gagner du temps et de la bande passant pour les update ce sera ça de plus. merci

    Juste pour infos je vois que beaucoup de monde a des soucis avec la génération de l’ISO !!! Comme le mentionne Asto (http://www.docgreen.fr/2011/09/15/integrer-les-mises-a-jour-a-un-iso-windows-7-ou-2008-r2/#comment-4079) y a beaucoup plus simple: http://unattended.msfn.org/unattended.xp/view/web/15/

    C’est ultra simple. Pointez le fichier de boot sur le « etfsboot.com » et suivre le tuto AVEC les MEME options.

  42. Bonjour ,

    J’ai suivi la procédure , tout fonctionne jusqu’au moment où je veux réaliser le nouvel ISO , j’ai ce message :
    Scanning source tree 500 files in 56 directories
    ERROR : Failure enumerating files in directory « \\?\D:\Iso7\mount\3\Documents and Settings

    Je ne comprends pas le chemin et surtout le dossier Documents and Settings

    J’ai mis tous les logiciels utiles pour l’opération ( y compris AIK ) sur le disque D , je en pense pas que cela soit la source de l’erreur . Quelqu’un aurait une idée ?

    Merci

  43. Salut Paul,

    je me suis permis de supprimer les messages en double.

    Il y a effectivement de grandes chances que le problème vienne du dossier « Documents and Settings », les espaces entre les mots étant très mal gérés dans les adresses réseau sous Windows (pour ne pas dire pas du tout).

    Un peu plus haut dans les commentaires, il est précisé qu’un imagepatcher.ps1 corrigé est disponible, as-tu utilisé celui-là.

    Je vais tester ta configuration pour voir si je peux reproduire le problème.

    Edit : bon alors le fait d’être passé à Win8 ne va pas trop m’aider, il faut commencer par installer Windows Kit de déploiement et d’évaluation Windows pour Windows 8 sinon pas moyen d’installer le MDT, j’éditerai au fur et à mesure de la progression…

  44. Bonjour et merci de votre réponse , je suis en train de faire l’essai avec imagepatcher.ps1 corrigé , j’ai recommencé toute la procédure , c’est long ( d’autant plus qu’il télécharge le SP1 !!). Je viendrais préciser si cela a fonctionné .

  45. Je suis donc reparti à zéro avec le module imagepatcher modifié , parti d’une iso Seven sp1 64bits de 3,2Go j’ai créé une nouvelle image iso de 4,3 Go . J’ai gravé un dvd et fait une installation qui a bien fonctionné . Ensuite j’ai fait une recherche de mises à jour , j’ai 56 mises à jour, dont IE9 et la plupart sont des correctifs de sécurité pour IE9 et Microsoft.NET frameworks 4.0, pour un poids total de 350 Mo . Mon problème exposé plus haut devait venir d’un mauvais chemin de fichier …à priori il ne s’est pas reproduit . Mais c’est sur une machine différente … je vais refaire la manoeuvre sur mon Pc où j’avais le problème , merci tout de même de votre réponse
    Amitiés

  46. Re-bonjour,
    En fin de compte je suis allé plus loin, j’ai fait une installation de Windows7 Professionnel SP1 + les mises à jour que les logiciels de la méthode ci-dessus ont ajoutés .
    Une fois installé j’ai lancé une recherche de mises à jour, il en a trouvé 37, j’ai noté tous les kb manquants (à ce sujet je pense que certaines mises à jour ne sont pas descendues car il faut sur le site Microsoft qui contient tous les KB valider avec un Genuinecheck.).
    J’ai intégré tous les kb manquants et avec RT7 lite j’ai ajouté un exécutable pour Frameworks 4.0 + mises à jour (qui sont tous des exe). Une fois cela terminé j’ai lancé l’installation de IE10 . Ensuite j’ai relancé Windows update à cet étape il ne demande plus que 7 mises à jour pour un poids de 25 Mo .
    Une fois installé ces 25 Mo (c’est rapide), plus de mises à jour disponibles. Cependant la distribution pèse plus de 4,7 Go ( 5 exactement) et je l’ai gravée sur une clé USB bootable.
    L’installation complète avec Frameworks et ses mises à jour (270 Mo) !! IE10 +pilotes carte-mère (cd) dure 1 heure, sur une machine moyenne gamme.

    1. Bonjour Paul,

      C’est a peu près ce que je cherche à faire également. Juste une petite question, as-tu un site avec l’ensemble des MAJ Win7? J’avais ça a une époque mais j’ai perdu le lien. Malgré de nombreuses recherches, je n’ai rien trouvé qui corresponde à cela.

      Merci!

  47. Bonjour à tous,

    Ravis d’avoir trouvé ce tuto fort intéressant et surtout de voir qu’il est toujours d’actualité et surveillé!

    Je suis en train d’essayer de mettre à jour l’un de mes ISO de Windows Seven (Professionnal 64bits obtenu via le programme MSDNA) et je rencontre une erreur que manifestement personne n’a encore eu.

    Je plante mon contexte: J’ai tenté l’installation sur 2 machines:
    -1) une virtuelle, Windows Server 2008 Standard Edition
    -2) ma machine « Hôte », une Windows Seven Professionnal x64 (faite avec l’ISO que je veux mettre à jour).

    Commençons par le cas 1: J’ai trouvé et installé (« à la bourrin », comprendre « next-next-next », le serveur 2008 est monté spécifiquement pour l’occasion et l’UAC est désactivé) le Windows Deployement Toolkit pour Windows Server 2008. J’ai téléchargé le WAIKet là, première erreur: Le WAIK téléchargé avec le DeployementWorkbench ne fonctionne pas sous 2008 \o/.

    « Qu’à cela ne tienne! » me dis-je! « Je vais aller moi même téléchargé/installé le WAIK pour serveur 2008! », ce que je fis (en conservant les chemins d’installations par défaut). Je charge mon ISO dans mon répertoire créé pour l’occasion (C:\MAJ) puis l’extrait avec WinRar, et place le script dans le dossier.

    Je lance donc PowerShell sur mon Serveur 2008 (clic droit-« exécuté en tant qu’Administrateur »), PowerShell se lance.

    Je prends soins d’appliqué la commande « Set-ExecutionPolicy RemoteSigned » (après tout, c’est un serveur monté spécifiquement pour ça, la sécurité pour le coup, on s’en balance!) et je change de répertoire avant de lancer le script:
    cd C:\MAJ
    .\imagepatcher.ps1 -dbg:no -imagefile:C:\MAJ\7_Pro_64\sources\install.wim -patchimages: »3″

    Seule réponse obtenue:
    DISM and/or IMAGEX not found. Install WAIK first

    « Ahaaahhhh…. Bon… Ça doit venir du fait que j’ai installé le WAIK manuellement…. Je vais reprendre avec ma machine Win7 Hôte, après tout je vais l’exploser aussi! »

    Début du 2nd Round!

    -2) Contexte:
    -Windows Seven Professionnal x64
    -4 Disques dures Physiques
    –1 disque Systeme SSD
    –1 disque de Stockage/Données
    –1 disque dédié « programmes »
    –1 disque dédié « Jeux »

    On recommence donc, on prends le Toolkit version 64 bits cette fois ci, et on recommence! Je lance l’installation, mais change le répertoire d’installation:
    E:\MS Deployement Kit

    Je lance le WorkBench et je télécharge le WAIK, je lance l’installation, et ça passe! Je change aussi le répertoire d’installation (pas trop envie de cramer mon SSD pour rien…).
    E:\Windows AIK

    Je créé un répertoire « MAJ » sur mon disque de données:
    D:\MAJ

    Je met le script, mon ISO, je le décompresse et renomme le dossier décompressé « Win7 » (plus rapide à écrire dans les commandes que « Windows7_Pro_x64_SP1_MAJ_.iso », je sais je suis fan des noms à rallonge -mais dans la limite des 255 caractères- et aussi du gros Pavé explicatif je m’en rends compte aussi!).

    Je lance PowerShell en Administrateur (je vais le cherché « powershell.exe » dans « C:\Windows\System32\WindowsPowerShell\v1.0″). Je tape a nouveau mes commandes:

    Set-ExecutionPolicy RemoteSigned
    D:\MAJ
    .\imagepatcher.ps1 -dbg:no -imagefile:D:\MAJ\Win7\sources\install.wim -patchimages: »3 »

    J’obtiens exactement la même erreur:
    DISM and/or IMAGEX not found. Install WAIK first

    Et là je n’y comprends plus rien…. le WAIK est présent et cette fois-ci, installé directement depuis le MS Deployement Toolkit.

    Je n’ai malheureusement pas trouvé grand chose au sujet de cette erreur sur le net. Si je ne l’avais pas eu sur mon 2008 (je n’aurais pas essayer sur mon Win7 c’est vrai) j’aurais probablement mis en cause mon ISO de Win7 qui a été bidouillé avec RT7Lite (d’ailleurs, j’ai jamais eu de soucis avec lui au passage) en me disant que j’ai du dégager un élément essentiel à cette manipulation, mais mon ISO de WinSrv2K8Stand n’a lui subit aucune modification depuis son téléchargement (via MSDNA également).

    Quelqu’un à-t-il eu cette erreur et trouvé un moyen de la contourné?

    A choisir, je préférerais avoir la VM qui assure la MAJ de l’ISO, mais si cela ne s’avère pas possible, je me contenterai de la Win7.

    Merci beaucoup de votre aide (et de votre courage pour être allé au bout de mon explication)!

  48. Bonjour Fox ,

    J’ai procédé de deux manières pour rapatrier les KB de mises à jour soit là :

    http://www.microsoft.com/fr-fr/download/windows-7.aspx?q=windows%207&fs=applicableproducts~%255eWindows%3bapplicableproducts~%255e%2522Windows%252fWindows%25207%2522

    soit là ( ça m’a l’air plus efficace ) : http://catalog.update.microsoft.com/v7/site/home.aspx ( impératif INTERNET EXPLORER ) , tu fais tes courses dans le panier et tu télécharges , attention les kb sont souvent des .msu pour les packs autonomes , les frameworks sont des exe …. bonne pêche !!

  49. J’ai répondu a ton problème plus haut 🙂 il faut installer WAIK sur le C: sinon sa marche pas. j’avais la même erreur que toi.

  50. Merci pour vos réponses, cela en soulève cependant une nouvelle…

    Je m’en doutais un peu, mais alors, pourquoi cela ne fonctionne t-il pas sur ma VM Win2K8 sachant que je n’ai mis qu’une unique partition? 0o

    Je regarderais le Script voir si je ne peux pas l’adapter a mon installation.

  51. Est-ce que vous connaissez : wsusoffline 8.3 . Je l’ai testé et ma foi ça n’est pas trop mal , même critique que pour nos manoeuvres ci-dessus , il ne charge pas toutes les mises à jour . Je pense que là aussi, ce sont les mises à jour qui nécessitent un GenuineCheck . C’est bizarre d’ailleurs que certaines mises à jour soit vérifiées et pas les autres . On le trouve ici : http://download.wsusoffline.net/ . A essayer !! moins lourd que la procédure proposée , si ça peut aider …..

  52. J’aimerais savoir si d’autres arrivent avec le même résultats. J’ai exécuté la mise à jours de mon ISO, tout c’est bien fait. Après avoir installé Win 7, j’avais 92 mises à jours à installés et téléchargés. Il semble y avoir beaucoup de mises à jours qui ne s’intègrent pas… ??

  53. Bonjour, tout d’abord merci pour ce tuto,
    mais quand je procede sur le powershell, au lancement du script, j’ai ce message d’erreur qui défile sans arret

    « Impossible d’appeler une méthode dans une expression Null.
    Au caractère C:\ISO_update\imagepatcher.ps1:156 : 13
    + $writer.Write($buffer, 0, $count);
    + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo : InvalidOperation : (:) [], RuntimeException
    + FullyQualifiedErrorId : InvokeMethodOnNull  »

    Quelqu’un à une solution ??

    Merci d’avance

  54. @fox
    Pour le problème de « DISM and/or IMAGEX not found. Istall WAIK first », je suis quasiment sûr que le logiciel s’est installé dans Windows OPK…

    Même problème pour moi, j’ai jamais compris pourquoi… Bref pour résoudre ce problème : modifier le fichier PS1 :
    recherche les lignes :
    [string]$dismpath = « $ENV:PROGRAMFILES\Windows AIK\Tools\$env:PROCESSOR_ARCHITECTURE\Servicing\dism.exe »
    [string]$imagexpath = « $ENV:PROGRAMFILES\Windows AIK\Tools\$env:PROCESSOR_ARCHITECTURE\imagex.exe »
    [string]$expandpath = « $ENV:PROGRAMFILES\Windows AIK\Tools\$env:PROCESSOR_ARCHITECTURE\Servicing\expand.exe »

    et remplace les par :
    [string]$dismpath = « $ENV:PROGRAMFILES\Windows OPK\Tools\$env:PROCESSOR_ARCHITECTURE\Servicing\dism.exe »
    [string]$imagexpath = « $ENV:PROGRAMFILES\Windows OPK\Tools\$env:PROCESSOR_ARCHITECTURE\imagex.exe »
    [string]$expandpath = « $ENV:PROGRAMFILES\Windows OPK\Tools\$env:PROCESSOR_ARCHITECTURE\Servicing\expand.exe »

    et oh magie, ça se mets à fonctionner…

  55. Bonsoir,

    J’ai bien suivi la procédure et je remercie DocGreen d’avoir créé un tel tutoriel.
    Cependant, j’ai bien télécharge les mise à jour 64 bits de seven home premium je suis rendu à la dernière étape.
    Je voudrais savoir ou doit-on mettre les mise à jour de windows 7 ?
    Car si je lance la dernière commande l’iso est le même que l’original.
    Ou dois-je mettre le dossier x64 et les fichiers cab qui se téléchargent ?

    Merci pour votre réponse.

  56. Salut Fr4NgUs,

    normalement il n’y a pas à toucher aux mises à jours, si tu suis bien le tuto, tout est automatique ou presque.

    Le script imagepatcher.ps1 « sait » où se trouvent les mises à jour qu’il a téléchargé mais il ne sait pas où sont situés les fichiers extraits de l’ISO de Windows 7, notamment le fichier install.wim. Il faut donc le lui indiquer comme paramètre (ex : .\imagepatcher.ps1 -dbg:no -imagefile:X:\ISO_update\Win7\sources\install.wim -patchimages: »3″ ).

    Je soupçonne que l’adresse du fichier install.wim ne soit pas bien indiquée dans la commande que tu passes. Méfies toi aussi des adresses avec des espaces ou des caractères spéciaux, les scripts ne les aiment pas trop.

    N’hésites pas à me solliciter si besoin.

    Doc

  57. Bonjour
    je veux intégrer des mises a jour dans Windows 7, j’ai bien suivi vos instructions, mais dans le Powershell Set-ExecutionPolicy RemoteSigned ou Set-ExecutionPolicy Unrestricted n’est pas reconnu.J’ai passer a l’étape suivante et c’est le bloc note de imagepatcher qui ouvre puis il ne se passe plus rien.

    Merci de votre aide.

    Gaby Tr

    1. Salut,

      – Utilisez-vous Powershell (fond bleu) ou l’invite de commandes (fond noir) ?

      – Powershell est-il lancé en mode administrateur ? (La commande est reconnue en mode utilisateur mais ne fonctionne qu’en mode administrateur)

      Doc

  58. je sais pas pourquoi, mais moi aussi ca coince:

    comme toi j’ai mis:
    -le dossier a la racine de mon DD
    -mis le script dans le dossier
    -decompressé l’iso dans le dossi win 7
    -et verifier si je suis bien en RemoteSigned avec la commande: Get-ExecutionPolicy

    mais quand je rentre la ligne de commande (pour demarrrer le script:
    .\imagepatcher.ps1 -dbg:no -imagefile:C\ISO_update\Win7\sources\install.wim -patchimages: »3″

    Impossible de charger le fichier C:\ISO_update\imagepatcher.ps1. Le fichier C:\ISO_update\imagepatcher.ps1 n’est pas si
    gné numériquement. Le script ne sera pas exécuté sur le système. Pour plus d’informations, consultez « get-help about_s
    igning »..
    Au niveau de ligne : 1 Caractère : 19
    + .\imagepatcher.ps1 <<<< -dbg:no -imagefile:X:\ISO_update\Win7\sources\install.wim -patchimages:"3"
    + CategoryInfo : NotSpecified: (:) [], PSSecurityException
    + FullyQualifiedErrorId : RuntimeException

    Est ce que tu peux m'aider STP?

    1. ah c’est bon,

      Set-ExecutionPolicy RemoteSigned
      – Si cela ne fonctionne pas, utiliser la commande suivante :
      Set-ExecutionPolicy Unrestricted
      – Une fois le Windows Automated Installati

      la 1ere changeait le paramettre mais on dirait qu’il n’etait pas appliqué

    2. ah c’est bon,

      Set-ExecutionPolicy RemoteSigned
      – Si cela ne fonctionne pas, utiliser la commande suivante :
      Set-ExecutionPolicy Unrestricted
      – Une fois le Windows Automated Installati

      le 1er changeait le paramètre mais apparemment il ne s’appliquait pas.
      le 2eme quant à lui marche !

  59. j’ai quand même une question, quand tu dis que tu garde l’intégralité du dossier de travail, tu veux dire que tu supprime le dossier win7, et qu’a chaque fois tu décompresse le tout 1er iso ou le 2eme (celui auquel tu nous a gentiement intégré les maj)?

    Et ce sans rien supprimer d’autre? Ainsi, a chaque scripts, seules les nouvelle maj se téléchargent?

    1. Salut Naka,

      content que ça ait fini par fonctionner, en effet Powershell est parfois retors.

      Concernant le « dossier de travail », il s’agit en effet de conserver le dossier contenant l’extraction de l’ISO, il suffit alors de copier son contenu vers le fameux « dossier de travail » à chaque fois qu’on relance le script pour générer une ISO plus récente. Les mises à jour étant dans un dossier différent, seules les nouvelles seront téléchargées.

      Doc

          1. ok très bien, c’est pas grave, elles sont surement disponibles chez microsoft. J’irais faire un tour quand j’aurais fini le script: win 7 pro x64:

            6.75go

            Merci encore Doc

  60. De rien !

    Ça me rassure, l’ISO finale devrait faire dans les 4-5 Gio je pense. Ça fait un bon bout de temps que je n’ai pas utilisé ce script.

  61. ah j’ai un souci, tout semble s’être terminé (je confirme j’ai relancé powershell, et il prend en consideration tout ce que l’on a télécharger, donc on ne re-telecharge pas tout 2 fois! ouf!)

    Quand je rentre la commande (qui existe sur mon ordi):

    cd C:\Program Files\Windows AIK\Tools\amd64

    Il me dit:

    Set-Location : Impossible de trouver un paramètre positionnel acceptant l’argument « Files\Windows ».
    Au niveau de ligne : 1 Caractère : 3
    + cd <<<< C:\Program Files\Windows AIK\Tools\amd64
    + CategoryInfo : InvalidArgument: (:) [Set-Location], ParameterBindingException
    + FullyQualifiedErrorId : PositionalParameterNotFound,Microsoft.PowerShell.Commands.SetLocationCommand

    ____________
    Je ne peux donc pas poursuivre la realisation de l'iso. Tu peux m'aider STP?

  62. Alors ça je pense que c’est un bête problème d’espace dans la commande. Le mieux c’est de naviguer vers le dossier « C:\Program Files\Windows AIK\Tools\amd64 » en utilisant la touche TAB pour compléter automatiquement les noms des dossiers.

    ex : cd C:\Program puis TAB jusqu’à obtenir le bon nom de dossier, puis ENTRÉE pour valider. Et ainsi de suite jusqu’à être dans le dossier « amd64 ».

    1. merci je vais essayer ca mais a vrai dire j’ai tous les problemes de mike, je vais essayer tout ca.

      A demain (car supprimer le dossier mount a l’air d’etre super long avec unlocker)

    2. pour le moment j’en suis là (j’ai finalement deplacé avec unlocker le dossier mount, je le supprimerai plustard)

      http://img15.hostingpics.net/pics/270991error.png

      j’ai par ailleur après tout supprimé (sauf les dossier x86 et x64) choisi le scrip:

      .\imagepatcher.ps1 -dbg:no -imagefile:C:\ISO_update\Win7\sources\install.wim -patchimages: »all »
      mais il n’y a pas eu de téléchargements supplémentaire par rapport -patchimages: »3″

      les error semble que des erreurs de mise a jour de langue, autrement dit rien.
      que pense tu de tout ca? J’attends ta réponse, je tente de poursuivre ton tutoriel.

        1. les explications sont bonnes mais il manque toujours des infos (mais les 2 tutos réunis se complètent)

          voilà a bientot, tu peux supprimer ces dernier messages c’est juste pour te remercier

          bonne continuation

  63. Bonjour,
    J’ai réussi à créer un iso mis à jour.
    Mais après installation du système lorsque je vérifie les mises à jour j’ai à peu près 150 mises à jour à installer.
    Y a t’il moyen d’intégrer encore plus de mises à jour dans l’iso?

  64. merci pour l’info et cette discussion vivante et compétente.
    après correction des erreurs élémentaires et plus fines, (voir ci dessous)

    iso téléchargé: Windows 7 Ultimate SP1 Français x64: X17-59479.iso
    os actif: x64 ultimate os cible (x64 ultimate, index 4 )

    il reste une erreur dont je ne vois pas la solution:

    Traitement de 211 sur 378 – Une erreur s’est produite en essayant d’obtenir le nom d’un package spécifié. Pour plus d’in
    formations, consultez le fichier journal.
    Traitement de 212 sur 378 – Une erreur s’est produite en essayant d’obtenir le nom d’un package spécifié. Pour plus d’informations, consultez le fichier journal.

    et ceci jusque 340, ensuite ok jusque 378!
    pas d’erreurs indiquées dans dism.log

    le dvd est il utilisable? comment interpreter, et eviter cette erreur..
    merci bien

    liste erreurs à eviter:
    -ne » pas installer deployement ailleurs que ds repertoire par defaut
    -apres telechargement de waik, ds deployement, il faut l’installer (ds rep par defaut)
    – ds win7 il faut copier le contenu de l’iso, et ne pas mettre l’iso!
    – verifier index version ds iso (ouvrir instal.wim avec 7zip puis lire [1].xml)
    faisable avec notepad mais il vaut mieux un editeur xml
    -?? telecharger avec un windows actif de la meme version ??
    – executer powershell comme admin (clic droit sur un raccourci et executer comme admin)
    – modifier correctement les chemeins ds les cmdes du script

    pour copier coller dans la fenetre powershell: paste = clic droit
    copie= selection (clic gauch et drag, puis clic droit ds select)

  65. bonjour
    personne n’a un idée de ce que signifie le message:
     » Une erreur s’est produite en essayant d’obtenir le nom d’un package spécifié »
    je n’ai jamais touché au langage powershell, et j’esperai ne pas devoir l’apprendre, ainsi que son deboggage..
    merci…

    1. Salut,

      je n’ai plus de Windows 7 sous le coude, quand j’aurai un peu de temps je testerai dans une VM.

      Ces erreurs sont-elles bloquantes lors du déroulement du script ?

      Si non, as-tu testé l’ISO final, les paquets incriminés sont peut-être installables plus tard via Windows Update.

  66. merci de la reponse..
    les erreurs ne sont pas bloquantes.. je vais donc tester l’iso, mais je craignais d’avoir peut être des soucis avec des mise à jour dans le désordre.. et 130 MAJ manquantes sur 378, ça enlève une partie de l’interet…
    d’où mon souhait de mieux comprendre..

  67. merci

    super tuto qui m'a fait gagner enormement de temps avec une pauvre connexion a 2Mo et 4 pc a reinstaller

    par contre existe t il une astuce pour obtenir IE11 avec tous les correctifs pour install offline dans un seul package?

    idem pour silverlight et office?

    Merci

    1. Salut,

      à ma connaissance il n'y a pas de possibilité d'intégrer IE, Silverlight et .NET dans les ISOs Windows.

      De même pour les mises à jour Office.

      Doc

       

       

        1. Merci de ta réponse. Je vais réessayer, exactement comme toi (je vais créer une partition X: ^^). Juste une question : ou places tu l'imagepatcher ?

          Merci,

          1. En fait, peux tu me décrire l'arborescence de tes fichiers/dossiers avant le lancement des majs ?

            Merci encore !

  68. Hello !

    Alors merci, cette fois j'ai réussi mais… (il ya toujours un mais xD) : il y avait 363 mise à jour à traiter.  Je pense que 0 ont été faites…

    Si cela peut influer, je travaille sur un PC fixe avec un DD à 5400 trs/min. J'ai créé une partition X: de 50Go environ. Mon CD est un Windows 7 Professionnel et a la ligne patchimages, j'ai mis 3 (donc pro, non ?)

    Merci de ton aide 🙂

  69. Bonjour,

    Quel paramétrage faut-il utiliser pour ajouter les KB au wim d'un Mod Arium avec le script imagepatcher.ps1 ?

    Cordialement et merci.

    1. Bonjour,

      je n'ai jamais utilisé Arium mais à mon avis mieux vaut passer par un outils de type nLite http://www.nliteos.com/

      Je ne suis pas sûr que le script imagepatcher fonctionne avec un windows moddé mais je serai curieux de le savoir… 😉

      Doc

       

       

  70. Bonjour,

    je souhaiterais savoir si cela fonctionne pour la version familial prenium (64 bit)

    si oui, quel chiffre je dois mettre à la fin ?

    cd E:\ISO_update
    .\imagepatcher.ps1 -dbg:no -imagefile:E:\ISO_update\WIN7\sources\install.wim -patchimages:"??????"

    1. Bonjours Gilles,

      pas de soucis pour la version familiale premium 64 bits.

      Les chiffre à ajouter est le "2" (1=Home Basic ; 2=Home Premium ; 3=Professional ; 4=Ultimate)

      Doc

  71. Bonjour,

    Je suis sur 7×64 j'ai donc installer Windows Automated Installation Kit x64.

    Le script intégre t-il les updates x86 et x64 sur un .wim contenant toutes les versions x86 et x64 ?

    Ou faut-il executer le script sur un machine x86 puis une seconde fois sur une machine x64 ?

    Merci

     

    1. Bonjour,

      tout dépend de l'ISO que tu utilises, si c'est une x86 alors les mises à jour x86 seront incluses, idem pour le x64.

      L'architecture du l'OS hôte n'a pas d'importance.

      Doc

    1. J'aurais tendance à dire que les 2 architectures seront mises à jour mais je ne suis pas sûr, je n'ai jamais testé ce cas de figure (j(ignorais qu'il y avait des ISO multi-archi).

      Lors de l'exécution du scripts les mises à jour x86 et x64 sont téléchargées.

      Il te faudra tester à l'aide d'une VM x86 et x64 en lancant windows update pour voir quelles mises à jours sont proposées.

      Je suis curieux de connaitre le résultat.

      Doc

       

       

       

       

  72. Parce que quand j'éxecute le script pour patcher l'install.wim contenant les images x86 et x64 avec la commande : 

    .\imagepatcher.ps1 -dbg:yes -imagefile:c:\ISO_update\Win7\sources\install.wim -patchimages:"all"

    J'obtiens des :

    "La commande s’est achevée avec des erreurs"

    "Le package spécifié n’est pas applicable à cette image"

    Et ca me chagrine car je ne sais pas à quoi c'est dû.

    J'ai l'impression que ces erreurs n'arrive que sur certaines images contenues dans le .wim …

    1. Le script se termine avec des erreurs ou plante tout court ?

      Ça arrive aussi sur les ISO mono-archi mais au final, ça fonctionne, au pire il manque quelques mises à jour mais rien de bien grave. Il faudra tester l'installation pour chaque architecture.

  73. Y'aurai pas un moyen pour regarder à l'interieur de l'image les updates qui ont été appliquées avec un soft ou autrement (dans un répertoire spécifique de l'image)? Plutôt que de tester chaque archi ?

    1. Pas à ma connaissance mais c'est peut-être possible. Mais pour éviter les problèmes, il vaut mieux tester avec une installation.

      J'ai déjà eu des mauvaises surprises avec des ISO bidouillées.

       

  74. On peut vérifier les updates patchés avec l'outil DISM. (tuto DISM sur le site du labo microsoft)

    Et oui le script patch bien les 9 versions (dans mon cas) du .wim :

    1 – Windows 7 Starter SP1 32bits
    2 – Windows 7 Familiale Basique SP1 32bits
    3 – Windows 7 Familiale Premium SP1 32bits
    4 – Windows 7 Professionnel SP1 32bits
    5 – Windows 7 Edition Intégrale SP1 32bits

    6 – Windows 7 Familiale Basique SP1 64bits
    7 – Windows 7 Familiale Premium SP1 64bits
    8 – Windows 7 Professionnel SP1 64bits
    9 – Windows 7 Edition Intégrale SP1 64bits

    ​Au final environ 6Go l'iso … contre 3.75Go à la base …

    Une centaine d'updates sont téléchargées pour au final foirer au moment du patch (ex : IE, les framework, updates d'autres langues etc …)

    Bref il serait plus que tant d'avoir un SP2 …

    Le script fait quand même gagner du temps pour les centaines d'autres updates.

    Merci DocGreen

    1. Impeccable, c'est bon à savoir !

      Pour le SP2 je doute qu'il y en ait jamais, Microsoft est parti sur un rythme de mises à jour majeures de l'OS à la Apple, 1 par an.

  75. Bonjour à tous,

    D'abord je tiens a remercier DocGreen pour son excellent travail et un tuto super pratique qui fonctionne super bien.

    Ensuite, j'ai fait une ISO (10.4Go) avec toute les mise à jours windows. Maintenant j'aurais une petite question. Existe t il un moyen d'intégrer un office (Office 2013 par exemple) avec toute ses mise a jours?

    Car j'ai 3 dossier (1 dossier avec Office 2013 en anglais, 1 dossier avec visio en anglais, 1 dossier avec le patch en français). dernièrement j'ai installer le tous (c'est a dire windows sans les patchs, office 2013, visio 2013, le patch office pour le français) et il a fallu que j'attende 2 jours pour que windows update veille bien m'installer tous les patch de sécu. Et comme j'ai encore quelques PC à installer, je me posais la question si il n'y aurais pas moyen de tous mettre dans un fichier ISO?

    je coprendrais très bien que cette manip n'est pas évidente du tous mais je pose la question au cas ou.

     

    Merci encore pour ce tuto

     

    Axel

  76. Salut à tous,

    Voici mes résultats:

    Dans un premier temps, j'ai suivie le Tuto pour les update de wnidows 7, pendant se temps téléchargement des updates du l'office 2013 (boire une cafetière de café pour les download)

    Installation de RT7 lite

    ajout de l'office 2013 dans windows 7 avec RT 7 lite

    vérifications que tous est intégrer

    création de l'ISO (plus de 12Go)

    résultat:

    Ordinateur installer avec toutes les mises à jours et l'office 2013 installer avec ses mises a jours

    Temps de travail: 10h et 5 cafetière de café vidé

     

     

  77. Bonjour,

    lorsque je lance la commande powershell je me retrouve avec l'erreur suivante qui s'affiche en boucle :

    Impossible d'appeler une méthode dans une expression Null.

    Au caractère E:\Iso_Update\imagepatcher.ps1:156 : 13

    +         $writer.Write($buffer, 0 , $count);

    + categoryInfo : InvalidOperation: (:) [], RuntimeException

    + FullyQalifiedErrorId : InvokeMethodOnNull

     

    Et à la fin j'ai : 

    ls : Impossible de trouver le chemin d'accès "E:\Iso_Update\http:" car il n'existe pas.

    Au caractère E:\Iso_Updte\imagepatcher.ps1:181 : 7

    + ls $filename

    + CategoryInfo : ObjectNotFound: (E:\Iso_Update\htpp::String) [GetChildItem], ItemNotFoundException

    + FullyQualifiedErrorId : PathNotFound,Microsoft.PowerShell.Commands.getChildItemCommand

     

    une idée de ce qui se passe ?

    1. comme je suis sur un serveur j'ai desactivé la securtié renforcée d'internet explorer puisque j'avais oublié.

      plus d'erreur en rouge mais maintenant :

      PS E:\ISO_update> .\imagepatcher.ps1 -dbg:yes -imagefile:"E:\ISO_update\Win7\sources\install.wim" -patchimages:"all"
      DÉBOGUER : Checking elevated rights
      DÉBOGUER : E:\ISO_update
      DÉBOGUER : C:\Program Files\Windows AIK\Tools\AMD64\Servicing\dism.exe
      DÉBOGUER : C:\Program Files\Windows AIK\Tools\AMD64\imagex.exe
      DÉBOGUER : E:\ISO_update\mount
      DÉBOGUER : Detecting imagex and dism
      DÉBOGUER : Checkging download dirs
      DÉBOGUER : Downloading wsusscn2.cab
      DÉBOGUER : E:\ISO_update\http:
      Unable to download http: and no downloaded found. Exitting…

  78. Bonjour,

    Pour tous ceux qui rencontrent des problèmes avec le script Power Shell, sachez que cela est dû simplement à la version de votre Power Shell.
    J'ai rencontré les mêmes erreurs que vous avez cités précédemment car j'avais Power Shell v.3.0 au lieu du 2.0.
    Donc, si vous voulez corrigez toutes ces erreurs, il suffit d'effectuer la manipulation depuis un Windows 7 ou Windows 2008 R2 (fraichement installé de préférence) qui disposent de base la version 2 de Power Shell.

    Merci pour ce script qui va nous aider dans le déploiement d'OS 😉

  79. Bonjour,

    Je bataille sur cette solution pour mettre à jour une image ISO d'un W2008R2 standard.
    Le téléchargement s'effectue correctement mais au moment de mettre à jour l'image j'ai ces messages d'erreurs.

    Deployment Image Servicing and Management tool
    Version: 6.1.7600.16385

    Error: 0xc1420127

    L'image spécifiée dans le fichier wim spécifiée est déjà montée pour un accès en lecture/écriture.

    The DISM log file can be found at C:\Windows\Logs\DISM\dism.log

    Deployment Image Servicing and Management tool
    Version: 6.1.7600.16385

    Error: 2

    Unable to access the image.
    Make sure that the image path and the Windows directory for the image exist and you have Read permissions on the folder.

    The DISM log file can be found at C:\Windows\Logs\DISM\dism.log

    Deployment Image Servicing and Management tool
    Version: 6.1.7600.16385

    Error: 50

    Cette demande n'est pas prise en charge.

    The DISM log file can be found at C:\Windows\Logs\DISM\dism.log

    J'ai cherché un peu partout sans trouver de solution. Auriez-vous une idée ?

    Par avance merci.

     

  80. Bonjour,

    Merci pour la documentation.

    Cependant, j'ai une petite question.

    Pour quelle raison lorsque j'installe mon ISO, indows Update me signale 63 MAJ a effectuer ?

    Cordialement,

    Grégory

    1. Bonjour, toutes les mises à jour fournies par Windows Update ne concernent pas directement Windows comme le Framework .NET ou encore Silverlight.

      Doc

      1. Bonsoir,

        Afin d'illustrer mon propos, je viens d'installer une VM et lorsque que lance Windows Update, il me signale les 63 MAJ comme par exemple la KB2506014, la KB2533552 ou la KB2545698 qui sont toutes les 3 des MAJ Windows.

        Cordialement,

        Grégory

  81. Bonjour, j'ai pu lancer le script sans problème mais subitement, Erreur :

    Write-Debug : Impossible de lier l'argument au paramètre « Message », car il a la valeur N
    Au niveau de C:\Users\Backup\downloads\imagepatcher.ps1 : 396 Caractère : 24
    +             write-debug <<<<  $imageindex.name
        + CategoryInfo          : InvalidData: (:) [Write-Debug], ParameterBindingValidationEx
        + FullyQualifiedErrorId : ParameterArgumentValidationErrorNullNotAllowed,Microsoft.Pow
       ommand

    New-Item : L'élément du nom spécifié C:\Users\Backup\downloads\mount\ existe déjà.
    Au niveau de C:\Users\Backup\downloads\imagepatcher.ps1 : 406 Caractère : 21
    +             New-Item <<<<  -path $mountdir"\"$imagendx -type directory | out-null
        + CategoryInfo          : ResourceExists: (C:\Users\Backup\downloads\mount\:String) [N
        + FullyQualifiedErrorId : DirectoryExist,Microsoft.PowerShell.Commands.NewItemCommand

    J'ai eu cette double erreur 3 fois de suite.

    Merci d'avance pour l'aide que vous pourrez m'apporter 🙂

  82. Bonjour, apres avoir suivi ce tuto ,sur la base d un iso de win7 pro  je me retrouve avec une image iso de 4.6 Go.

    Ce qui me semble correct.

    j ai testé l image avec vmware  et tout se passe tres bien.

    Mais a ma grande surprise une fois l install finie , je constate que j ai un win7 basic d installé !!! ??.

    Qui saurait me dire a quel endroit j ai fait une erreure pour obtenir un resultat pareil ?

    Je precise que l image iso de depart a ete testée de multiple fois et qu il s agit bien d un win7 pro.

    Merci d avance pour vos reponses.

     

    1. Bonjour,

      ça fait un bout de temps que je n'ai pas fais la procédure, je vais la retenter cet après-midi à partir d'une ISO Pro SP1.

      En attendant, vérifie que tu as bien un "3" à la fin de la commande suivante : .\imagepatcher.ps1 -dbg:no -imagefile:X:\ISO_update\Win7\sources\install.wim -patchimages:"3"

      Es-tu sûr que ta clé est bien un clé Pro et pas Basic ?

       

      1. Bonjour,

        Je viens de tester sur un Windows 7 Sp1 64bits et cela fonctionne bien. Cependant sur n Windows Server2008 R2, L'installation plante :(.

        Cdt,

        Greg

  83. Bonjour tout le monde et merci à DocGreen pour cet excellent tuto,

    Je suis en train de tester l'intégration de mises à jour pour Windows 7 Pro en 64 bits, pour l'instant, ça à l'air de rouler, c'est maginifique.

    J'ai une petite question, je suis dépanneur informatique et donc amené à installer des systèmes d'exploitations, le plus souvent Windows 7 64 bits (la version 32 bits n'est pas très fréquente, pour ma part), parfois Windows Vista (en 32 bits par-contre), je n'utilise pas de DVD d'installation, mais une clef USB pour l'installation (Windows 7), cette dernière est préparée (via la suppression de ei.cfg) afin de disposer de toutes les versions d'un seul coup.

    Ma question est la suivante : Est-il possible de conserver une clef USB disposant de toutes les versions (Basic+Home+Pro+Integral) avec l'intégration des mises à jour ?

    Dans ce cas, dois-je réaliser l'intégration version par version, ou seulement réaliser l'intégration des mises à jour, par exemple sur la version Pro, puis de nouveau supprimer ei.cfg ?

    Je vous remercie d'avance et je vous souhaite une excellente journée.

    Benoit

     

    Note : Lors de la rédaction de ce petit texte, inscription en rouge qui tourne en boucle, j'ai stoppé, je pense que je mes suis bien planté en utilisant les fichiers d'une image iso déjà préparée (sans ei.cfg). Je re-tente dès que j'aurais mis la main sur une image clean de Windows 7 Pro x64.

    1. Bonjour Benoit,

      je ne sais pas si c'est possible mais tu peux faire les mises à jour de toutes les versions en utilisant la commande  :

      .\imagepatcher.ps1 -dbg:no -imagefile:X:\ISO_update\Win7\sources\install.wim -patchimages:"all"
       
      Le paramètre "all" fait que ton ISO contiendra alors les mises à jour pour Basic+Home+Pro+Integral.
       
      J'avoue que je ne suis plus trop amené à créer ce type d'ISO mais d'après les commentaires la méthode fonctionne toujours.
       
      N'hésites pas à laisser un commentaire quand tu auras tester, ça pourra intéresser les visiteurs suivant 🙂
       
      Doc
  84. Merci pour l'information, je tenterai effectivement cette méthode, dans le contretemps, j'ai récupéré une image iso propre de Windows 7 Pro SP1 en 64 bits, l'intégration est en cours et ça va nettement plus loin que dans le test précédent (pas encore terminée, vive l'adsl à 8M)

     

    Pour information, je ne sais pas encore si je vais jusque la création d'une image iso, étant donné que j'utilise pour les installation de Windows 7 (x86 ou x64) une clef USB de 16 Go, néanmoins, je pense que finirai par créer cette image, ne serait-ce que pour un archivage plus aisé …

     

    Je réaliserais le test pour l'intégration "globale" je pense demain et je posterai le résultat ici, histoire de partager l'information.

     

    Je recherche également une possible intégration des mises à jour pour Windows Vista (en 32 bits en priorité, 64 bits pourquoi pas), mais comme dirait l'autre "c'est une autre histoire", je regarde d'ailleurs l'utilitaire WSUS, histoire d'apprendre de nouvelles choses … il y a de quoi faire.

    Merci pour la réponse !!! Bonne finde journée.

    Benoit

  85. Bonjour, le téléchargement et l'intégration de sont terminés sans moi, j'ai laissé tourner toute la nuit, à mo retour ce matin, j'ai tenté la création de limage iso, cette dernière pèse 13,1 Go, ah ah ah !!!

    C'est pas mal, je pense avoir fait la même erreur que j'ai pu lire dans les commentaires, j'ai tout dans un même dossier, qui pèse donc 13,1 Go également.

     

    Je pense que je dois déplacer les dossiers contenant les mises à jour (nommés X64 et x86) ailleurs, cela dit ces dossiers pèsent à eux deux 7,16 Go, je test de nouveau la création et je reviendrai ici pour donner des nouvelles.

  86. Re-bonjour,

    Cette fois-ci li'mage iso est de 6,01 Go, ouf, je progresse !!!

    Ou "Install.wim" = 5,44 Go

    Pour obtenir ce résultat, j'ai déplacé les dossiers "x86" et "x64" hors du dossier contenant les fichiers provenant de l'image d'installation originale, j'ai tojours dans la nouvelle image iso le dossier "mount" (vide), ainsi que le script d'intégration.

    Voici le contenu de l'image iso vu par winrar :

    Pour information, j'ai du effectivement ajouter des guillemets sur la commande placement du dossier AIK.

    De telle sorte que j'obtiens (dans mon cas) :

    cd "C:\Program Files\Windows AIK\Tools\amd64\"

     

    J'ai failli installer ce fameux Windows AIK sur une autre partition, cela aurait été je pense une source d'erreurs.

     

    Et pour la création de l'image iso :

     

    .\oscdimg.exe -u2 -m -h -oc -g -bD:\win7x64\boot\etfsboot.com d:\win7x64 d:\win7prox64.iso

     

    En effet, mon dossier contenant les fichiers de l'image de Windows se trouvent dans le dossier "win7x64" qui est placé à la racine de mon disque D:

     

    Au regard de de la commande de création de l'image et comme je n'ai pas séparer les dossiers à l'origine, dois-je dans cette commande supprimer "d:win7x64" (marquée en gras) ?

     

    Je dois bien avouer ne pas comprendre son utilité (pour ma part j'entends), je pense que j'aurais du réfléchir à la construction, ainsi qu'à l'utilisation de cette commande de création de l'image avant d'opérer.

     

    Je pense également à ajouter des espaces afin de rendre la lecture de cette commande plus claire.

     

    Quelqu'un a-t-il tester cette commande d'intégration ou une autre pour Windows Vista 32 bits ou 64 bits ?

     

    Je testerai aujourd'hui également une version "globale", avec l'argument "all" pour le script d'intégration, je pense tester avec une les fichiers de windows 7 Pro 64 bits déjà mis à jour dans un premier temps, puis avec une version "préparée", sans ei.cfg, bien entendu, je reviendrai ici donner les résultats.

     

    Je me doute bien que l'image iso doit être de plus en plus lourde, conséquence du nombre des mises à jour sorties depuis l'ouverture ce de post (depuis septembre 2011 !!!).

     

    Je suis désolé par avance de la longueur de ce commentaire 😉

     

    Encore merci pour les informations et pour ce tuto !!!

  87. Bonsoir ou bonjour je ne sais plus a cette heure ^^

    Une petite questions avant de me lancer.

    Le script récupére il TOUTES les mises a jours ? (hormis net framework et consort)

    Et si oui juste par curiosité j'aimerais savoir comment ^^ parce j'essaye d'acceder au catalogue  depuis des plombe ^^ ici: http://catalog.update.microsoft.com/    , et pas moyen 🙁 

     

    D'avance merci 😉

     

     

     

     

     

     

     

     

    1. je m'auto commentre désolé 🙁 

      Je vient de tester et :

      Impossible d’appeler une méthode dans une expression Null 🙁

      Si vous avez des idées je prend … la question a déja été posée deux fois mais pas de réponse .

       

      1. Bonjour, j'ai le même problème, je suis dans un établissement scolaire sur le réseau admin.

         

        J'obtiens en boucle ceci :

         

        Impossible d’appeler une méthode dans une expression Null.
        Au caractère C:\ISO_update\imagepatcher.ps1:156 : 13
        +             $writer.Write($buffer, 0, $count);
        +             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
            + CategoryInfo          : InvalidOperation : (:) [], RuntimeException
            + FullyQualifiedErrorId : InvokeMethodOnNull

         

        J'aimerai vraiment trouver une solution car pour le déploiement des nouvelles machines que nous allons recevoir ça m'aiderai beaucoup d'avoir une image à jour à envoyer depuis le sambaedu…..

    2. N'hésitez pas à parcourir les commentaires pour trouver les réponses (je sais y'en a 200…), à priori l'erreur vient de l'utilisation d'un Powershell V3, il faut utiliser la version 2.

      Doc

    3. Je ne saurais dire si toutes les mises à jour sont récupérées, je pense que non.

      Pour connaitre la méthode de récupération, tu as gagné le droit d'étudier la fonction "function Get-WebFile" dans le script.

      Pour accéder au catalogue tu dois utiliser un Windows antérieur à Windows 7. J'ai testé avec succès sur un Windows XP + IE6 (brrrrr…)

      Doc

  88. Merci pour votre réponse, pourtant, malgré que je sois en windows 10 pro sur mon portable de maintenance powershell m'indique bien être en version 2.0 …… bizarrerie de microsoft surement.

     

    J'ai a peu près tout les os sous la main, je vais tenter sous un seven à jour, puis si ça ne fonctionne pas on descendra à vista, puis à xp lol !

     

    je vous tiens au courant.

     

    Merci.

    Pierre.

    1. je me corrige, en tappant $PSVersionTable je suis en version 5, ça me paraissait bizarre la version 2 annoncée dans les propriétés du dossier….

  89. C'est bon, ça fonctionne pour moi sur un windows seven dépouiller qui nous sert de console kaspersky.

     

    Le script lancé, il télécharge en ce moment même sans message d'erreur.

     

  90. Bonjour à Tous et bonne année.
    Je déterre un peu ce post et j’ai un tite question :
    J’utilise cette ligne de commande en remplacement de celle du Doc :
    .\imagepatcher.ps1 -dbg:no -imagefile:C:\Temp\ISO_Win7\x64\sources\install.wim -patchimages:all:
    J’ai 2 répertoires dans ISO_Win7 ; 1 x86 et 1 x64.
    Bizarrement il me met à jour les 2 versions ! Les packages sont téléchargés dans le x64 et le x86, chaque package correspondant à la version.
    N’ayant pas encore terminé le téléchargement total, je ne peux vous dire si tout fonctionne.
    Je reviendrai 😉

  91. Bonjour.
    Erreur de script, donc pas possibilité de télécharger toutes les mises à jour.
    Je me suis tourné vers GISM GUI Version 4, après avoir téléchargé les MàJ de Win7 par le biais de wsusoffline.
    GISM m’a permis de monter l’install.wim, d’y intégrer les mises à jours (packages) et de reconstruire l’install.wim.
    Montés dans des machines virtuelles, les deux Windows 7 (x64 et x86) ont parfaitement intégré les quelques 300 màj…
    Voili, voilou.
    Bon courage

    1. Salut Youen,

      merci de ton retour, ça va aider les personnes qui cherchent comme toi à avoir un ISO à jour.

      Outre ta solution, j’ai décrit une autre méthode pour intégrer les mises à jour.

      Qui plus est, Microsoft a mis à disposition une ISO contenant toutes les mise à jour jusqu’en mai 2016. La méthode pour les intégrer est décrite dans cet article (en anglais).

  92. bonjour,
    le lien de dl des iso pointe vers winmacsoft, qui n’est plus du tout un site fiable depuis qu’il a été revendu début 2014.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *