Desafortunadamente las respuestas aquí hasta ahora no abarcan por completo todas las bases.
Código Producto
Esto no parece ser fiable - que estamos buscando una versión mínima, no una versión específica. Aunque el código del producto en teoría solo se supone que cambia para incrementos de versiones mayores, la versión de VSTO en mi máquina - 10.0.40303 - tiene un código de producto de {A0FE0292-D3BE-3447-80F2-72E032A54875}. Esto sugiere que Microsoft no los mantiene necesariamente estables, por lo que sugeriría que esta no es una buena opción.
Versión del archivo
Otra opción puede ser la de comprobar la presencia/versión del VSTO propias asambleas, que típicamente puede estar en% Archivos de programa% \ Archivos comunes \ Microsoft Shared \ VSTO \ 10.0. Sin embargo, yo diría que este directorio no está garantizada - el directorio real parece estar especificada en el registro, pero es evidente que esta solución es ahora no es mejor que sólo tener la versión del registro directamente ...
Registro
Así que pasar por el registro es probablemente la única opción que queda.
Por desgracia, la versión de tiempo de ejecución VSTO puede aparecer en cualquier ubicación uno de los 4 registro:
- HKLM \ SOFTWARE \ Microsoft \ VSTO Runtime Setup \ v4 (32 bits, instalar VSTO de instalación de Office 2010)
- HKLM \ SOFTWARE \ Microsoft \ VSTO Runtime Setup \ V4R (32 bits, VSTO instalado desde redistribuible)
- HKLM \ SOFTWARE \ Wow6432Node \ Microsoft \ VSTO Runtime Setup \ v4 (64- poco, VSTO instala desde instalación de Office 2010)
- HKLM \ SOFTWARE \ Wow6432Node \ Microsoft \ VSTO Runtime Setup \ V4R (64 bits, VSTO instalado desde redistribuible)
Nota: No tiene una fuente definitiva para esto: estoy reconstruyendo fragmentos de información de, por ejemplo, this blog post by Wouter van Vugt y this SO answer. Puede haber incluso más que eso.
Además, puede haber requisitos mínimos de versión, aunque sospecho que en la práctica esto sólo va a afectar a las personas que ejecutan versiones preliminares de Office 2010:
El Visual Studio 2010 Tools para el tiempo de ejecución de oficina también se envía con Microsoft Office 2010. Sin embargo, en el momento de Office 2010 RTM, el tiempo de ejecución con Office solo admite soluciones de Office que se dirigen al .NET Framework 3.5. Si su solución está orientada a .NET Framework 3.5, , puede ejecutarse si está instalado Office 2010 o si está instalado el Visual Studio 2010 Tools for Office Runtime redistributable. Si sus soluciones de oficina se dirigen a .NET Framework 4, debe redistribuir el tiempo de ejecución de Visual Studio 2010 Tools para Office (citation).
La segunda respuesta allí (con VSTORFeature_CLR40) es probablemente más correcta. Acabo de tener un escenario en el que se encontró la primera entrada de registro (HKLM \ Microsoft \ vsto runtime setup \ v4 \ Install) pero mis complementos no se cargaban, y de hecho VSTO no estaba instalado. – PandaWood
¿Puede alguien explicar cómo se detecta si el VSTOR40 instalado es x86 o x64? He instalado todas las combinaciones de los tiempos de ejecución x86 y x64, y las claves mencionadas anteriormente son las únicas creadas, todo está bajo el WOW6432Nodo, lo que significa que no hay forma de determinar la 'bitness' del tiempo de ejecución instalado ... (tenga en cuenta que Office 2010 viene con sabores de 32 y 64 bits, y los procesos .net que se generan tendrán el mismo grado de bits que la instalación de Office http://social.msdn.microsoft.com/Forums/en-US/vcgeneral/thread/8d70d66c-fe87-4f38-b154-5804b871e153 /) – Adam
He descubierto que 'VSTORFeature_' solo existe en instalaciones x64. Por favor, mira mi respuesta a continuación para instalaciones x86. –