C’est arrivé à tout le monde à un moment donné: vous allez installer une nouvelle application et Windows vous dit de redémarrer en premier. Ou redémarrez après. Ou il vous demande de fermer d’abord toutes les autres applications. Pourquoi ça fait ça?
Dans la leçon de geek d’aujourd’hui, nous expliquerons exactement pourquoi Windows peut être si irritant avec tout ce redémarrage et, espérons-le, vous donner une meilleure perspective sur les raisons pour lesquelles les choses fonctionnent de cette façon.
Alors, pourquoi les installateurs sont-ils ennuyeux?
La réponse courte est que la plupart des installateurs sont ennuyeux parce qu’ils ne sont pas très bien écrits ou qu’ils s’intègrent trop profondément dans Windows pour pouvoir copier les fichiers système et démarrer tout le nécessaire sans redémarrage.
Le problème est aggravé car les applications Windows utilisent souvent des fichiers DLL (bibliothèque de liens dynamiques) partagés entre plusieurs applications. C’est une bonne idée, mais quand il s’agit d’installer et de désinstaller des applications, il peut être irritant de devoir redémarrer. Ce qui est vraiment triste, c’est que de nombreuses applications de nos jours sont complètement autonomes et ne remplacent pas les DLL Windows intégrées, mais leurs programmes d’installation vous obligent toujours à redémarrer.
Voici quelques exemples où les installateurs peuvent être ennuyeux:
- Si l’application que vous installez a besoin de copier de nouvelles versions de fichiers actuellement utilisés par une autre application, elle vous invitera soit à fermer toutes les autres applications, soit à redémarrer.
- Si une installation précédente ou Windows Update a des modifications en attente nécessitant un redémarrage, certaines installations échoueront et vous demanderont de redémarrer en premier.
- Si l’application que vous installez a un plugin pour une autre application, comme un ajout au menu contextuel de l’Explorateur, ou un plugin de navigateur, il vous demandera de redémarrer ou de fermer les autres applications.
- Parfois, des installateurs mal écrits vous demanderont de redémarrer car ils ne démarrent pas eux-mêmes les services requis.
Examinons de plus près certaines de ces instances, afin que vous puissiez pleinement comprendre ce qui se passe.
Les fichiers en cours d’utilisation doivent être copiés au redémarrage
Si le programme d’installation de l’application a besoin de copier certains fichiers mais qu’ils sont actuellement utilisés, ou sont des fichiers système dans le cas de Windows Update, il utilisera une fonctionnalité en attente dans Windows qui permet à un programme d’installation de spécifier qu’une opération de fichier se produit après un redémarrage, et avant que tout ne démarre dans Windows.
Le programme d’installation écrira une clé à l’emplacement suivant dans le registre:
HKEY_LOCAL_MACHINE SYSTEM CurrentControlSet Control Session Manager
PendingFileRenameOperations
Si vous avez reçu une erreur indiquant que vous devez d’abord redémarrer, vous pouvez ouvrir cette clé et vous verrez tous les fichiers qui doivent être remplacés au prochain redémarrage.
Vous ne voulez probablement pas gâcher le contenu de cette clé, sinon les choses commenceront rapidement à devenir bizarres. Il existe de très rares cas où cette clé n’est pas vidée même après plusieurs redémarrages, et vous devrez peut-être effacer le contenu de la clé, mais vous devriez probablement éviter de le faire, sauf si vous êtes très sûr.
Installation déjà en cours
Certains installateurs ne démarreront pas s’il y a une installation en cours, donc ils vérifieront la clé suivante pour voir si une installation est déjà en cours:
HKEY_LOCAL_MACHINE Software Microsoft Windows CurrentVersion Installer InProgress
Je n’ai pas de capture d’écran pour celui-ci, mais vous pouvez avoir l’idée à partir du nom de la clé.
Windows Update vous fait redémarrer
Si vous recevez un message indiquant que vous ne pouvez pas installer une application tant que vous n’avez pas redémarré votre ordinateur, c’est parce que Windows Update nécessite un redémarrage forcé. Ainsi, par exemple, si vous recevez ce message d’erreur:
C’est parce que vous avez probablement cliqué sur Reporter lorsque vous avez vu cette boîte de dialogue apparaître:
Si vous vous dirigez vers le registre, vous verrez qu’il existe une clé RebootRequired à cet emplacement dans le registre:
HKEY_LOCAL_MACHINE SOFTWARE Microsoft Windows
CurrentVersion WindowsUpdate Mise à jour automatique
Il y a tout un tas de valeurs GUID sur le côté droit, et bien qu’elles ne concernent rien dans le registre, le fait qu’elles soient là est ce qui déclenche ce message.
Techniquement, vous pourriez probablement exporter le contenu de la clé, installer l’application, puis les remettre en place – mais cela pourrait casser quelque chose, et le redémarrage n’est-il pas si douloureux?
Vous en savez maintenant un peu plus sur les raisons pour lesquelles les installateurs d’applications fonctionnent comme ils le font. Y a-t-il autre chose que vous aimeriez savoir? Expliquez vos frustrations dans les commentaires, et nous verrons si nous ne pouvons pas les éclairer.