Pourquoi la mise à jour de Windows est-elle si longue ? Il faut parfois plus d’une douzaine de visites à Windows Update et une autre douzaine ou plus de redémarrages avant que mon Windows nouvellement installé soit à jour. Pourquoi Microsoft ne trouve-t-il pas un meilleur moyen de faire cela ?


C'est une excellente question. Assez grande pour que je doive y répondre en deux parties.

Pourquoi une installation fraîche de Windows 7 prend-elle autant de redémarrages pour se mettre à jour ?


Dans le modèle de mise à jour qui était utilisé pour Windows 7 et inférieur, les mises à jour étaient généralement publiées sur une base individuelle, patch par patch. En d'autres termes, "Oh hey, nous avons trouvé un problème dans le composant X. Nous avons développé un correctif pour ce problème. Nous publierons une mise à jour qui comprendra les nouveaux fichiers du composant X." Pendant ce temps, au cours du même mois, des correctifs ont probablement été publiés pour les composants U, V, W, Y et Z, qui ont tous été corrigés dans des correctifs individuels.


Dans le modèle Windows Update, chaque mise à jour publiée comporte un ensemble de "règles d'applicabilité". Les règles d'applicabilité sont un ensemble de conditions qui disent "Je suis installable si (ce fichier est présent ou non, cette valeur de registre est définie de cette façon, cette langue est installée, etc...)", et je suis déjà installé si (ce fichier est présent, etc...)". Ces conditions peuvent être très complexes. Par exemple, ce patch pour le composant X dirait évidemment "Je suis installable si les binaires du composant X sont présents mais qu'au moins l'un d'entre eux est plus ancien que la version dans le patch, et je suis installé si tous les binaires du composant X sont présents et qu'ils sont au moins aussi récents que la version dans le patch". Mais le nouveau code peut introduire une nouvelle dépendance sur le composant P, donc maintenant nous devons ajouter "Je ne suis installable que si telle ou telle version du composant P est présente". Ne me demandez même pas quelles sont les règles d'applicabilité pour les mises à jour d'Office. Ce n'est pas joli.


Alors, quand vous installez Windows 7 à partir d'un disque, et que vous scannez les mises à jour pour la première fois, les seules mises à jour qui seront proposées à l'installation sont celles dont les règles d'applicabilité disent "Je suis installable sur un système frais sorti du disque - je n'ai pas de dépendances avec quoi que ce soit d'autre qui a été livré comme mise à jour."

Donc Windows Update télécharge et installe cette première série de mises à jour, et vous dit de redémarrer pour terminer l'installation. Puis il scanne à nouveau les mises à jour, et maintenant il y a un autre lot de mises à jour nouvellement applicables - celles dont les règles d'applicabilité disent "Je suis installable sur un système qui a cette première série de mises à jour installée." Par exemple, il peut y avoir un tout nouveau composant J qui a été installé par la première série de mises à jour ; maintenant, toutes les mises à jour qui disent "Je ne suis installable que si le composant J est présent" sont potentiellement installables maintenant alors qu'elles ne l'étaient pas auparavant.

Donc, nous téléchargeons et installons ce nouveau lot de mises à jour, et nous redémarrons, et nous effectuons de nouvelles analyses, et maintenant il y a un autre lot de mises à jour qui sont installables parce que maintenant leurs dépendances sont satisfaites, et ainsi de suite.

Je vous entends dire "Pourquoi Windows Update ne regarde pas vers l'avant, et ne dit pas 'Ok, ce lot de mises à jour effectue cet ensemble de changements, donc je devrais aussi aller de l'avant et installer les autres mises à jour qui seront installables une fois que cet ensemble de changements sera effectué" ? Il y a des facteurs techniques qui rendent cela difficile (il est déjà assez difficile d'évaluer certaines des règles d'applicabilité sur le système actuel, sans parler de la façon dont elles seraient évaluées sur un système hypothétique qui le sera). Mais la vraie réponse, celle qui est la plus difficile, celle qui est la plus impossible, va probablement vous surprendre. Windows Update ne sait pas vraiment ce que les mises à jour qu'il s'apprête à installer vont faire. C'est pourquoi il a besoin de ces règles d'applicabilité distinctes. Windows Update sait comment s'assurer que la mise à jour n'a pas été altérée en transit et comment lancer la technologie d'installation appropriée pour appliquer la mise à jour. Au-delà de cela, c'est une boîte noire. Il s'agit d'un élément très puissant de la conception de Windows Update ; il permet à Windows Update d'appliquer des mises à jour qui utilisent des technologies qui n'étaient même pas imaginées par les développeurs au moment où Windows Update a été conçu. Mais cela signifie également que Windows Update ne peut tout simplement pas être prédictif de la manière qui serait utile pour patcher rapidement un nouveau système. Il doit installer un lot de mises à jour, voir comment le système a changé, puis installer les mises à jour applicables à ce système modifié, et ainsi de suite.

En avant toute...

Pourquoi Windows 10 ne prend-il pas tous ces cycles de redémarrage ? Et, aussi, pourquoi les mises à jour de Windows 10 sont-elles si foutrement volumineuses ?

La réponse à ces deux questions est fondamentalement la même.

Pour Windows 10, nous avons pris une grande respiration et avons complètement changé la façon dont nous publions les mises à jour. Plutôt que de dire "Voici un zillion de correctifs distincts qui contiennent des corrections et des fonctionnalités individuelles, chacune avec ses propres exigences", nous avons dit "Voici une seule mise à jour qui est (généralement) installable sur tous les systèmes Windows 10 depuis la nuit des temps, et qui contient toutes les modifications apportées depuis lors. Cette mise à jour est applicable à (généralement) tous les systèmes. Appliquez-la sur n'importe quel système, et Windows est à jour."

Cela présente de gros avantages. Il élimine (ou du moins réduit drastiquement) la nécessité de multiples cycles de balayage-téléchargement-installation-démarrage pour mettre un système à jour, ce qui signifie qu'il est beaucoup moins probable qu'un système nouvellement installé soit pwned dans le temps nécessaire à l'installation des mises à jour. Cela rend le support et la compatibilité des applications beaucoup plus faciles, car le nombre de permutations possibles de ce qui se trouve sur le système diminue radicalement - il suffit de se demander "Quelle mise à jour cumulative mensuelle est la plus récente installée ?", plutôt que "Quelle combinaison des milliers de correctifs individuels disponibles est installée ?". Cela rend l'administration du domaine et du réseau beaucoup plus simple.

Elle a aussi ses inconvénients. Ces mises à jour cumulatives sont en effet friggin' large. (Bien qu'elles ne soient pas toujours aussi volumineuses qu'elles en ont l'air, puisque nous ne téléchargeons que les portions qui sont réellement nécessaires sur un système donné). ) Et cela signifie que les utilisateurs expérimentés ne peuvent plus choisir les correctifs à appliquer, ce qui est dommage lorsqu'un correctif donné introduit un nouveau problème sur votre PC. Mais je dirais que l'ensemble des problèmes que ce modèle résout est beaucoup plus grand et plus courant que l'ensemble des problèmes qu'il cause.

J'espère que cela vous aidera à mieux comprendre Windows Update.