Comment trouver le programme de l'emplacement dans la base de registre, si je sais MSI GUID?
J'ai installé MSI avec GUID (0733556C-37E8-4123-A801-D3E6C5151617).
Le programme enregistré dans la base de registre:
HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Windows \ CurrentVersion \ Uninstall \ ()
Valeur
UninstallString = MsiExec.exe /I (0733556C-37E8-4123-A801-D3E6C5151617)
Ma question est: comment utilitaire MsiExec.exe connaît le nom et le chemin du fichier que vous souhaitez exécuter lorsque vous supprimer des programmes? Où dans le registre, cette information peut être trouvée?
Très bonnes réponses déjà, mais le moyen le plus facile pour obtenir des informations sur votre produit installé est probablement à l'aide d'une simple commande PowerShell
La lecture de ce nouveau je pense que j'ai mal lu votre question. Je suppose que la réponse exacte à votre question, c'est que toutes les informations sur les produits installés sont stockées dans la base de registre sous
La lecture de ce nouveau je pense que j'ai mal lu votre question. Je suppose que la réponse exacte à votre question, c'est que toutes les informations sur les produits installés sont stockées dans la base de registre sous
HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Installer
. C'est le programme d'installation de Windows la base de données et vous ne devez jamais toucher toutes les valeurs directement ici. Plutôt que vous pouvez y accéder via appels Win32 API C++(C++) ou vous pouvez utiliser automatisation COM (plus facile).OriginalL'auteur Yuriy | 2010-08-13
Vous devez vous connecter pour publier un commentaire.
Windows conserve les informations de configuration Windows Installer caché et crypté dans la base de Registre. Il n'est pas consultable à l'œil humain comme les autres parties de la base de Registre sont.
De requête/modifier/supprimer cette information, vous aurez besoin d'utiliser MSI fonctions.
(Fonction D'Installation De Référence)
À votre question, essayez de la fonction MsiGetProductInfo.
Voir Tao du programme d'installation de Windows, Partie 2 de la Windows Installer Blog de l'Équipe. Voir l'article 21: Évitez d'Utiliser les Données de Configuration Ne Vous appartient pas. Il dit, "ces données sont gérées par le programme d'installation et un accès direct par les utilisateurs ou les applications est découragé; en fait, certaines des données codées, il est très difficile de manipuler manuellement."
OriginalL'auteur William Leara
Ici est un simple programme c# qui utilise MsiGetProductInfo, comme William Leara dit, pour obtenir la position réelle de la mise en cache programme d'installation sur le disque.
property
peut (et doit) omettreINSTALLPROPERTY_
. Aussi le cas des lettres questions, par exemple pourINSTALLPROPERTY_INSTALLLOCATION
il estInstallLocation
(comme semblable à LocalPackage).OriginalL'auteur Sue Maurizio
Vous pourriez essayer, à partir de la ligne de commande:
OriginalL'auteur chris
Il existe un utilitaire gratuit de Tarma Logiciel de Recherche que j'ai trouvé utile pour cela. L'obtenir à partir d' leur site web.
OriginalL'auteur JPaget
Vous n'avez pas besoin d'aucun logiciel. Cela fonctionne dans Windows 10, et je pense que c'est valable pour windows 7.
Si votre Code Produit est 0733556C-37E8-4123-A801-D3E6C5151617.
Essayez de trouver la clé C65533708E7332148A103D6E5C516171 (en gros c'est inversé) une fois que vous l'avez trouvé, parcourir les sous-clé InstallProperties, si n'existe pas, essayez de trouver un autre résultat. Une fois que vous avez trouvé InstallProperties, d'ouvrir et de trouver la LocalPackage Clé. Et puis vous avez le chemin d'accès pour le msi packeage que MSI enregistre en tant que Cache lorsque vous avez installé votre application.
OriginalL'auteur Andres
La prémisse de cette question est trompeuse, car la UninstallString dans le registre n'est pas utilisé lors de la désinstallation. Aller de l'avant et changer la chaîne à tester cette - de ne pas utiliser votre altération de la chaîne.
Bien que les références à des trucs dans le registre pourrait être attrayante, la réponse courte est que Windows Installer de données dans le registre de la mise en œuvre du détail. La question est fondamentalement demandant comment MsiConfigureProduct(....INSTALLSTATE_ABSENT...), et il est inutile d'en deviner les détails de mise en œuvre et où il pourrait être dans le registre. C'est l'Api de tout le chemin vers le bas. Il y a peut-être une tâche réelle de l'affiche peut avoir envie de faire, mais elle est masquée par une question de la façon dont désinstalle travail.
OriginalL'auteur PhilDW
Que les principales cartes de
HKEY_CLASSES_ROOT\Installer\Products\
.Il n'a pas besoin de le chemin d'accès à l'application qui a été installé, si l'on a installé 10 applications?, tout ce qu'il faut est le chemin vers le programme de désinstallation (ou .msi module). Prendre un coup d'oeil @ la sortie de "wmic liste de produits" à la ligne de commande.
En fait j'ai besoin pour déterminer l'emplacement de l'application (lecteur de disque) pour l'estimation de l'espace disque disponible avant l'installation de correctifs msp. Puis-je déterminer l'emplacement de l'application installée si je sais seulement guid dans HKEY_LOCAL_MACHINE \SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{<guid>}?
OriginalL'auteur Alex K.