Où Windows stocke-t-il des fichiers MSI pour la désinstallation?

J'essaie de comprendre comment Windows (XP à 7) prend en charge l'installation et la désinstallation des fichiers MSI. Je suis apparu dans des situations où Windows Installer est incapable de désinstaller car il manque le fichier MSI d'origine, ce qui m'amène à croire qu'il stocke une copie de tous les paquets MSI installés quelque part. Où?

J'ai eu quelques théories.

  1. Il s'attend à ce qu'il réside dans le même dossier qu'il a été installé. Les clés de HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall dans HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall indiquent le dossier d'installation d'origine et les messages d'erreur lorsque le fichier MSI est manquant indiquent souvent ceci. La suppression du fichier MSI de ce dossier n'empêche pas le processus de désinstallation, donc j'ai refusé cette théorie.

  2. C:\Windows\Installer . Ce dossier contient en fait un tas de fichiers MSI apparemment choisis de façon aléatoire. Mais cette liste est incomplète. Je trouve des entrées dans la clé de registre mentionnée dans 1) qui n'a pas de copie MSI dans ce dossier.

Alors, comment ça marche? Comment l'installateur Windows est-il capable de désinstaller les applications installées par MSI même si le MSI n'est pas en 1) et pas en 2)?

One Solution collect form web for “Où Windows stocke-t-il des fichiers MSI pour la désinstallation?”

Apparemment, ça fonctionne comme ceci (sur Windows 7, je ne connais pas XP et autres systèmes d'exploitation):

Lorsqu'un utilisateur installe une application, Windows effectue les opérations suivantes:

1) Crée une clé de registre

HKLM \ SOFTWARE \ Microsoft \ Windows \ CurrentVersion \ Uninstall \ [ProductId GUID]

Pour cette application.

Si vous avez accès au fichier msi original de l'installateur de votre application, vous pouvez trouver [ProductID GUID] en ouvrant le fichier msi dans orca.exe et en cliquant sur la "Propriété" à gauche dans orca et en recherchant "ProductCode" Ligne sur la droite. Si vous n'avez pas accès au fichier * .msi original, vous pouvez simplement rechercher la clé de registre HKLM \ SOFTWARE \ Microsoft \ Windows \ CurrentVersion \ Uninstall pour le nom de l'application.

Si vous souhaitez supprimer votre application (qui refuse de désinstaller par exemple) à partir de la liste des applications installées dans le Panneau de configuration, vous pouvez supprimer l'entrée de cette clé de désinstallation. Il va sûrement disparaître de la liste dans le panneau de contrôle, mais Windows s'en souviendra encore. Par exemple, si vous essayez d'installer une prochaine version de la même application, l'installateur peut toujours insister pour la désinstallation de la version précédente. Voir l'article 2 pour cela.

2) Windows copie le fichier * .msi original dans le dossier C: \ Windows \ Installer et le renomme vers un nom aléatoire (maintient l'extension .msi cependant). Windows crée également une clé dans le registre dans HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Installer\UserData\[InternalUserId]\Products\[some random guid-like sequence of chars identifying to windows your installation]\InstallProperties. ValueName "LocalPackage" dans cette clé reg indique le fichier msi renommé. Pour trouver le fichier dans C: \ windows \ Installer, vous pouvez naviguer vers ce dossier dans Windows explorer, le transformer en vue Détails, créer la colonne "Sujet" visible et vous verrez que tous les nnnnnnnn.msi correspondent à leur nom de produit correspondant.

  • Enregistrement et liens symboliques lors du formatage
  • Après l'installation de VS 2010 - Processus hôte générique pour le problème des services Win32 commence
  • Définissez l'action du bouton d'alimentation de Windows XP sur «Ne rien faire» avec le paramètre de script ou de registre
  • Lire les fichiers de registre dans le répertoire "config" de Windows à partir d'une sauvegarde?
  • Comment modifier le registre à partir de l'outil de récupération Vista?
  • Est-il utile de nettoyer le registre?
  • Comment désinstaller une application dans Windows lorsque son programme de désinstallation est manquant?
  • Comment récupérer mon icône par défaut .xml?
  • Puis-je empêcher le changement d'icônes de recouvrement?
  • Supprimer les bibliothèques de la barre latérale de Windows 8 Explorer
  • Comment désactiver la protection des fichiers Windows sous Windows XP ou 7 à partir du Registre?
  • Soyons le génie de l'ordinateur et du réseau.