Comment puis-je déterminer par programmation si le Runtime Visual C++ 8.0 est installé?
J'ai un InstallShield installation qui utilise des actions personnalisées qui dépend de l'Exécution Visual C++ 8.0 sp1. Dans le passé, j'ai pu installer le runtime en utilisant le module de fusion fourni par Microsoft avec Visual Studio. Basé sur la façon dont le Runtime Visual C++ 8.0 sp1 côte-à-côte les travaux d'installation sur Vista, le moteur d'exécution ne peut pas être utilisé jusqu'à la validation de la séquence de l'installation.
Cela signifie que je dois déplacer l'exécution de mes actions personnalisées à la validation de la séquence (pas souhaitable, puisque l'installation ne peut pas être annulée au cours de cette séquence, si quelque chose se passe mal) ou installer le Runtime Visual C++ avant mon installation à l'aide d'un InstallShield préalable.
Je préfère installer le Runtime Visual C++ comme une condition préalable, mais une condition préalable pour ce n'est pas fournie par InstallShield, donc j'ai dû écrire mon propre. J'ai été en mesure de comprendre comment faire pour configurer le programme pour installer le moteur d'exécution, mais je ne sais pas comment faire pour déterminer si elle est déjà installée. Est-il une clé de registre ou de version de fichier, je peux vérifier ça?
OriginalL'auteur Kevin Kibler | 2009-02-19
Vous devez vous connecter pour publier un commentaire.
J'ai trouvé des posts de blog qui décrit détecter la D'Exécution Visual C++ 8.0 et Visual C++ Runtime 8.1. Fondamentalement, vous pouvez utiliser le MSI Interface d'Automatisation de recherche pour le produit codes pour chaque exécution.
Vous pouvez aussi chercher les HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\[ProductCode] où [ProductCode] est le code de produit pour le runtime vous êtes à essayer de déceler (par exemple. {7299052b-02a4-4627-81f2-1818da5d550d} est le code du produit pour la version x86 de la 8.0 sp1 runtime).
Ces méthodes ne fonctionnent qu'à détecter si le moteur d'exécution redistributable package est installé, il est possible que le runtime est installé même si ces méthodes ne sont pas de l'indiquer (par exemple. si il a été installé avec un module de fusion au lieu d'utiliser le package redistribuable), mais il ne devrait pas mal quoi que ce soit pour installer le package redistribuable dans ce cas.
OriginalL'auteur Kevin Kibler