J’essaie de comprendre comment Windows (de XP à 7) gère l’installation et la désinstallation des fichiers MSI. Je me suis retrouvé dans des situations où Windows Installer ne peut pas désinstaller parce qu’il lui manque le fichier MSI original, ce qui me porte à croire qu’il stocke une copie de tous les packages MSI installés quelque part. Où ?
J’ai eu quelques théories.
Il s’attend à ce qu’il se trouve dans le même dossier que celui d’où il a été installé. Les clés de registre dans
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstallpointent vers le dossier d’installation original, et les messages d’erreur quand le fichier MSI est manquant pointent souvent vers cela. Supprimer le fichier MSI de ce dossier ne gêne cependant pas le processus de désinstallation, donc j’ai rejeté cette théorie.C:\Windows\Installer. Ce dossier contient effectivement un tas de fichiers MSI nommés apparemment de manière aléatoire. Mais cette liste est incomplète. Je trouve des entrées dans la clé de registre mentionnée en 1) qui n’ont pas de copie MSI dans ce dossier.
Alors comment ça fonctionne ? Comment Windows Installer est-il capable de désinstaller des applications installées par MSI même si le MSI n’est ni en 1) ni en 2) ?