windows - puede - ¿Cómo determinar si la redistribuible de 32 bits de Visual Studio 2013 está instalada en la máquina de un usuario de manera confiable a través del Registro?
visual c++ redistributable 2013 (4)
La clave que necesita es HKEY_LOCAL_MACHINE/SOFTWARE/Wow6432Node/Microsoft/DevDiv/vc/Servicing/12.0/RuntimeMinimum
.
Estoy usando DeployMaster para construir un instalador para una aplicación de Windows de 32 bits escrita en C ++ usando Qt.
El ejecutable depende de la redistribución de Visual Studio 2013, es decir, el redistribuible de Visual Studio 2013 de 32 bits debe ser instalado por el usuario final antes de ejecutar esta aplicación.
Busqué en Google y miré otras preguntas de StackOverflow. En particular, este enlace proporciona la clave de registro exacta para verificar , pero para el caso de VS 2008.
Necesito VS 2013, no VS 2008.
Sin embargo, idealmente será una verificación de registro confiable, no una solución programática, porque puedo verificar fácilmente una clave de registro con un instalador de DeployMaster. (Si se determina que el sistema no tiene la redistribuible instalada, también es fácil que el instalador de DeployMaster inicie el instalador).
¿Alguien conoce un método confiable, preferiblemente usando una clave del Registro, que permita determinar si la redistribuible VS 2013 de 32 bits está instalada en la máquina de un usuario final?
Por si acaso alguien está mirando esto, pero está usando NSIS para implementar su programa.
Compruebas:
ReadRegDword $0 HKLM "SOFTWARE/Wow6432Node/Microsoft/DevDiv/vc/Servicing/12.0/RuntimeMinimum" "Install"
Si $0
es igual a 1
, entonces está instalado. Si no, no lo es.
Lo encontré aquí:
32bit
HKEY_LOCAL_MACHINE/SOFTWARE/Wow6432Node/Microsoft/Windows/CurrentVersion/Uninstall/{13A4EE12-23EA-3371-91EE-EFB36DDFFF3E}
or
HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/Windows/CurrentVersion/Uninstall/{13A4EE12-23EA-3371-91EE-EFB36DDFFF3E}
64bit
HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/Windows/CurrentVersion/Uninstall/{A749D8E6-B613-3BE3-8F5F-045C84EBA29B}
Esto es probablemente mejor que las claves devdiv, ya que es la clave de Windows utilizada para desinstalar el msi, si se ha instalado. Ahora solo deseo que el devdiv de Microsoft pueda hablar con el equipo de Windows para que podamos tener un lugar canónico para detectar esto, y un nombre canónico para Redistribuible. Sugerencia de Microsoft, no se llama ''tiempo de ejecución mínimo''
Estoy usando estas claves de registro: HKEY_LOCAL_MACHINE/SOFTWARE/Wow6432Node/Microsoft/VisualStudio/12.0/VC/Runtimes/x86
Installed
HKEY_LOCAL_MACHINE/SOFTWARE/Wow6432Node/Microsoft/VisualStudio/12.0/VC/Runtimes/x64
Installed
Confirmé que aparecen solo después de que se instaló el redist, y que coinciden más estrechamente con los de versiones anteriores. por ejemplo, VC ++ 2010 es: HKEY_LOCAL_MACHINE/SOFTWARE/Wow6432Node/Microsoft/VisualStudio/10.0/VC/VCRedist/x86
Installed
HKEY_LOCAL_MACHINE/SOFTWARE/Wow6432Node/Microsoft/VisualStudio/10.0/VC/VCRedist/x64
Installed