Detectar los requisitos del sistema
Un VSPackage no puede trabajar a menos que Visual Studio está instalado. Cuando se usa Microsoft Windows Installer para administrar la instalación del Paquete, puede detectar automáticamente si Visual Studio está instalado. El instalador también puede comprobar el sistema para otros requisitos, por ejemplo, una versión de Windows determinada o una cierta cantidad de RAM. También puede configurar el instalador utilizar condiciones de inicio para cancelar la instalación si los requisitos de VSPackage no se cumplen.
Claves de detección y servicio
Las subclaves de detección del Registro permiten determinar si un producto de Visual Studio ya está instalado en un equipo. Las subclaves de servicio permiten detectar si está instalada una versión Service Release del producto.
La tabla siguiente se enumeran las subclaves de detección de diferentes productos de Visual Studio.
En la tabla, LCID representa el identificador de configuración regional (LCID) de la instalación. Para obtener una lista de identificadores LCID válidos, vea Locale IDs Assigned by Microsoft en el sitio web de MSDN.
En las subclaves enumeradas, dword:00000001 significa True y dword:00000000 significa False.
Producto |
Clave |
---|---|
Studio2010 visual Ultimate |
HKEY_LOCAL_MACHINE \SOFTWARE\Microsoft\DevDiv\VS\Servicing\10.0\VSTSCore\$(Var.LCID) |
Premium visual Studio2010 |
HKEY_LOCAL_MACHINE \SOFTWARE\Microsoft\DevDiv\VS\Servicing\10.0\VSTDCore\$(Var.LCID) |
Studio2010 visual Professional |
HKEY_LOCAL_MACHINE \SOFTWARE\Microsoft\DevDiv\VS\Servicing\10.0\PROCore\$(Var.LCID) |
Shell de Microsoft VisualStudio 2010 (integrado) |
HKEY_LOCAL_MACHINE \SOFTWARE\Microsoft\DevDiv\VS\Servicing\10.0\IntShell\$(Var.LCID) |
Nota |
---|
En un sistema operativo Windows de 64 bits, las teclas comienzan como sigue: HKEY_LOCAL_MACHINE \SOFTWARE\Wow6432Node\Microsoft\DevDiv\VS\Servicing \ 10,0 \ |
detectar versiones anteriores de Visual Studio
Varias versiones de Visual Studio se pueden instalar en el mismo equipo. Para obtener más información, vea Admitir varias versiones de Visual Studio.
Para detectar las versiones de Visual Studio , utilice los id. componentes siguientes en la tabla de CompLocator del paquete de Windows Installer.
filas de la tabla de CompLocator
Signature_ |
ComponentID |
Tipo |
---|---|---|
CL_Devenv_2002 |
{0 C4 A71DF-5A73-11D3-A520-00A0 C9231 BA1} |
1 |
CL_Devenv_2003 |
{153B059B-B2F4-4B54-9A C3 -32BE38E470E1} |
1 |
CL_Devenv_2005 |
{320DB690-7979-4015-BD78-A16D7279043B} |
1 |
CL_Devenv_2008 |
{9E43F3BB-E7AE-4A97-A CF6 - FB864533 CC7 E} |
1 |
Utilice la tabla de AppSearch para conectar con las columnas de Signature_ en la tabla de CompLocator a los valores de propiedad, como sigue.
filas de la tabla de AppSearch
Propiedad. |
Signature_ |
---|---|
DEVENV_COMP_2002 |
CL_Devenv_2002 |
DEVENV_COMP_2003 |
CL_Devenv_2003 |
DEVENV_COMP_2005 |
CL_Devenv_2005 |
DEVENC_COMP_2008 |
CL_Devenc_2008 |
Los valores de las columnas de la propiedad y de Signature_ pueden tener cualquier nombre, pero los valores de Signature_ en las tablas de CompLocator y de AppSearch deben coincidir. La propiedad que se vincula al localizador componente es NULL si la versión adecuada de Visual Studio no está instalada. Si la propiedad es NULL, las condiciones que con la propiedad son false.
detectar los lenguajes de programación de Visual Studio
Si el Paquete requiere un lenguaje de programación determinado de Visual Studio, utilice las siguientes filas de CompLocator y filas adecuadas de AppSearch para detectar si el lenguaje está instalado para las versiones específicas de Visual Studio.
Filas de la tabla de CompLocator para detectar si Visual c# está instalado
Signature_ |
ComponentID |
Tipo |
---|---|---|
CL_VCsharp_2002 |
{B881292C-F099-11D4-A547-0090278A1BB8} |
1 |
CL_VCsharp_2003 |
{6110A574-76CE-45A5-92E8-2E194F20BBF7} |
1 |
CL_VCsharp_2005 |
{b de 727833BC-8B4B-4480-B34A-B1A17 CFF259} |
1 |
CL_VCSharp_2008 |
{8D70EE8E-1638-40 C2 -921B-28E52A68A986} |
1 |
CL_VCSharp_2010 |
{D3246EF0-4F4E-4F81-B4FF-8 C716 E C0 A929} |
1 |
Filas de la tabla de CompLocator para detectar si se instala Visual C++
Signature_ |
ComponentID |
Tipo |
---|---|---|
CL_VCpp_2002 |
{00E21 CF5 -5361-11D3-A51F-00A0 C9231 BA1} |
1 |
CL_VCpp_2003 |
{1E8D5 C4 E-0143-4871-9E7E-F04EEF70 C3 E0} |
1 |
CL_VCpp_2005 |
{28A38374-4A68-4562-9AF3-5D7BB96B0461} |
1 |
CL_VCpp_2008 |
{35DF9D40-8283-4661-B572-F7EA CCAB287 C} |
1 |
CL_VCpp_2010 |
{82D71315-B841-492E-986E-2660ABD89 CD1} |
1 |
Filas de la tabla de CompLocator para detectar si Visual Basic está instalado
Signature_ |
ComponentID |
Tipo |
---|---|---|
CL_VBasic_2002 |
{62ED CDC9 -69F4-11D3-A521-00A0 C9231 BA1} |
1 |
CL_VBasic_2003 |
{667F7FE3-3165-41 C4 -9 CF9 - F2719ADF0505} |
1 |
CL_VBasic_2005 |
{F5FDD145-7637-4 CA7 -90FE-6936A082CEDB} |
1 |
CL_VBasic_2008 |
{F59EAF C0 -6 C67 -40F2-AE59-85E4 CE330 A4E} |
1 |
CL_VBasic_2010 |
{235875 C7 -333C-4186-A46F-064431527642} |
1 |
detectar las ediciones de Visual Studio
La clave de carga del paquete aplica la edición mínima de Visual Studio que el Paquete requiere, pero también puede detectar la edición de la instalación. Para obtener más información, vea VSPackage Load Keys.
Nota |
---|
Visual Studio 2010 VSPackages no requiere una clave de carga del paquete. |
Evitar que un VSPackage instalarse y muestra un mensaje explicativo proporciona una mejor experiencia del usuario de permitir que el Paquete está instalado y después no funcione. Utilice las siguientes filas de la tabla de RegLocator y las filas correspondientes de la tabla de AppSearch para permitir a Windows Installer para establecer las propiedades que puede utilizar en pruebas condicionales.
filas de la tabla de RegLocator para detectar las ediciones de Visual Studio
Signature_ |
Root |
Clave |
Name |
Tipo |
---|---|---|---|---|
RL_2002_Professional |
2 |
SOFTWARE \Microsoft\VisualStudio\7.0\Setup\VS\Pro |
ProductDir |
0 |
RL_2002_Enterprise |
2 |
SOFTWARE \Microsoft\VisualStudio\7.0\Setup\VS\Ent |
ProductDir |
0 |
RL_2003_Professional |
2 |
SOFTWARE \Microsoft\VisualStudio\7.1\Setup\VS\Pro |
ProductDir |
0 |
RL_2003_EnterpriseDeveloper |
2 |
SOFTWARE \Microsoft\VisualStudio\7.1\Setup\VS\Ent |
ProductDir |
0 |
RL_2003_EnterpriseArchitect |
2 |
SOFTWARE \Microsoft\VisualStudio\7.1\Setup\VS\Arch |
ProductDir |
0 |
RL_2005_Standard |
2 |
SOFTWARE \Microsoft\VisualStudio\8.0\Setup\VS\Std |
ProductDir |
0 |
RL_2005_Professional |
2 |
SOFTWARE \Microsoft\VisualStudio\8.0\Setup\VS\Pro |
ProductDir |
0 |
RL_2005_TeamArchitect |
2 |
SOFTWARE \Microsoft\VisualStudio\8.0\Setup\VS\VSTA |
ProductDir |
0 |
RL_2005_TeamDeveloper |
2 |
SOFTWARE \Microsoft\VisualStudio\8.0\Setup\VS\VSTD |
ProductDir |
0 |
RL_2005_TeamSuite |
2 |
SOFTWARE \Microsoft\VisualStudio\8.0\Setup\VS\VSTS |
ProductDir |
0 |
RL_2005_TeamTest |
2 |
SOFTWARE \Microsoft\VisualStudio\8.0\Setup\VS\VSTT |
ProductDir |
0 |
RL_2005_VSTO |
2 |
SOFTWARE \Microsoft\VisualStudio\8.0\Setup\VS\VSTO |
ProductDir |
0 |
Detección cuando Visual Studio se ejecuta
El Paquete no se registrará correctamente si Visual Studio se ejecuta cuando el Paquete está instalado. El instalador debe detectar cuando Visual Studio se está ejecutando y después rechazar instalar el programa. Windows Installer no permite utilizar entradas de tabla para habilitar la detección. En su lugar, debe crear una acción personalizada, como sigue: Utilice la función de EnumProcesses para detectar el proceso de devenv.exe y, a continuación establece una propiedad del instalador que se utiliza en una condición de inicio o muestra condicionalmente un cuadro de diálogo que solicite al usuario cerrar Visual Studio.
Cancelar la configuración mediante condiciones de inicio
Si los requisitos cualquiera de los de VSPackage no se cumplen, puede utilizar la tabla de LaunchCondition del paquete de Windows Installer para cancelar la instalación. La tabla de LaunchCondition tiene una fila para cada condición de inicio y un mensaje muestran para cada condición que no se cumpla. La tabla siguiente muestra las filas de la tabla de LaunchCondition que utilizan las propiedades del sistema de Windows Installer y las propiedades personalizadas de la detección que anteriormente de instalación.
Nota |
---|
Dado que registrar un VSPackage requiere valores del Registro de escritura a la clave HKEY_LOCAL_MACHINE, la instalación de VSPackage requiere derechos de usuario elevados, incluso si realmente ejecutar el paquete VSPackage no requiere permisos elevados. |
Filas de la tabla de LaunchCondition de ejemplo
Condition |
Descripción |
---|---|
DEVENV_COMP_2002 OR DEVENV_COMP_2003 OR DEVENV_COMP_2005 OR DEVENV_COMP_2008 instalado |
Este Paquete requiere Visual Studio. |
=> 500 De VersionNT |
Windows 2000 es el requisito mínimo para el Paquete. |
NOT VISUAL_STUDIO_RUNNING |
Cierra Visual Studio antes de instalar este paquete VSPackage. |
privilegiado |
Para instalar este paquete VSPackage, los derechos de usuario elevados se requieren. |
Nota |
---|
Si se basa en la tabla de AppSearch para establecer las propiedades que desea usar en la tabla de LaunchCondition, la acción estándar de AppSearch debe aparecer antes de LaunchConditions en la tabla de InstallUISequence y la tabla de InstallExecuteSequence. |