J'essaie de comprendre comment Windows (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 car il manque le fichier MSI d'origine, ce qui m'amène à 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 réside dans le même dossier à partir duquel il a été installé. Les clés de registre dans
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall
pointent vers le dossier d'installation d'origine, et les messages d'erreur lorsque le fichier MSI est manquant le signalent souvent. La suppression du fichier MSI de ce dossier n'entrave cependant pas le processus de désinstallation, j'ai donc refusé cette théorie.C:\Windows\Installer
. Ce dossier contient en fait un tas de fichiers MSI apparemment nommés de manière aléatoire. Mais cette liste est incomplète. Je trouve des entrées dans la clé de registre mentionnée au point 1) qui n'a pas de copie MSI dans ce dossier.
Donc comment ça fonctionne? Comment le programme d'installation de Windows peut-il désinstaller les applications installées sur MSI même si le MSI n'est pas en 1) et pas en 2)?