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?

Pour ceux qui cherchent à détecter Visual C++ 2010 runtime, vous pouvez trouver les instructions ici: blogs.msdn.com/b/astebner/archive/2010/05/05/10008146.aspx

OriginalL'auteur Kevin Kibler | 2009-02-19