visual-c++ installation runtime installshield prerequisites

¿Cómo puedo determinar mediante programación si está instalado Visual C++ Runtime 8.0?



visual-c++ installation (1)

Encontré publicaciones de blog que describen detectar Visual C ++ Runtime 8.0 y Visual C ++ Runtime 8.1 . Básicamente, puede usar la Interfaz de automatización MSI para buscar los códigos de producto para cada uno de los tiempos de ejecución.

También puede buscar HKEY_LOCAL_MACHINE / SOFTWARE / Microsoft / Windows / CurrentVersion / Uninstall / [ProductCode] donde [ProductCode] es el código de producto para el tiempo de ejecución que está intentando detectar (por ejemplo, {7299052b-02a4-4627-81f2- 1818da5d550d} es el código de producto para la versión x86 del tiempo de ejecución de 8.0 sp1).

Estos métodos solo funcionan para detectar si el paquete redistribuible de tiempo de ejecución está instalado; es posible que el tiempo de ejecución esté instalado incluso si estos métodos no lo indican (por ejemplo, si se instaló como un módulo de fusión en lugar de usar el redistribuible), pero no debería doler nada instalar el paquete redistribuible en este caso .

Tengo una instalación de InstallShield que usa acciones personalizadas que dependen de Visual C ++ Runtime 8.0 sp1. En el pasado, pude instalar el tiempo de ejecución utilizando el módulo de combinación proporcionado por Microsoft con Visual Studio. Según la forma en que la instalación de Visual C ++ Runtime 8.0 sp1 side-by-side funciona en Vista, el tiempo de ejecución no puede utilizarse hasta la secuencia de confirmación de la instalación.

Esto significa que debo mover la ejecución de mis acciones personalizadas a la secuencia de confirmación (no es deseable, ya que la instalación no puede revertirse durante esta secuencia si algo sale mal) o instalar Visual C ++ Runtime antes de instalar usando un requisito previo de InstallShield .

Preferiría instalar Visual C ++ Runtime como un requisito previo, pero InstallShield no me proporciona un requisito previo, así que tuve que escribir el mío. Pude averiguar cómo configurar el requisito previo para instalar el tiempo de ejecución, pero no sé cómo determinar si ya está instalado. ¿Existe una clave de registro o una versión de archivo que pueda verificar para determinar esto?