Détecter les configurations requises
Un VSPackage ne peut pas s'exécuter sauf que Visual Studio est installé. Lorsque vous utilisez Microsoft Windows Installer pour gérer l'installation de votre VSPackage, vous pouvez détecter automatiquement si Visual Studio est installé. Le programme d'installation peut également activer le système pour d'autres impératifs, par exemple, une version de Windows particulière ou une quantité de mémoire vive particulière. Vous pouvez également configurer le programme d'installation pour utiliser des conditions de lancement pour annuler l'installation si les conditions d'un VSPackage ne sont pas satisfaites.
Clés de détection et de maintenance
Les sous-clés de détection du Registre vous permettent de déterminer si un produit Visual Studio est déjà installé sur un ordinateur. Les sous-clés de maintenance vous permettent de déterminer si un Service Release du produit est installé.
Le tableau suivant répertorie les sous-clés de détection des différents produits Visual Studio.
Dans ce tableau, LCID représente l'ID de paramètres régionaux de votre installation. Pour obtenir la liste des ID de paramètres régionaux valides, consultez ID de paramètres régionaux assignés par Microsoft (page éventuellement en anglais) sur le site Web MSDN.
Dans les sous-clés répertoriées, dword:00000001 signifie vrai et dword:00000000 signifie faux.
Produit |
Clé |
---|---|
Visual Studio2010 final |
HKEY_LOCAL_MACHINE \SOFTWARE\Microsoft\DevDiv\VS\Servicing\10.0\VSTSCore\$(Var.LCID) |
Premium de Visual Studio2010 |
HKEY_LOCAL_MACHINE \SOFTWARE\Microsoft\DevDiv\VS\Servicing\10.0\VSTDCore\$(Var.LCID) |
Professional Studio2010 visuel |
HKEY_LOCAL_MACHINE \SOFTWARE\Microsoft\DevDiv\VS\Servicing\10.0\PROCore\$(Var.LCID) |
Shell Microsoft VisualStudio 2010 (intégré) |
HKEY_LOCAL_MACHINE \SOFTWARE\Microsoft\DevDiv\VS\Servicing\10.0\IntShell\$(Var.LCID) |
Notes
Sur un système d'exploitation Windows 64 bits, les clés démarrent comme suit : HKEY_LOCAL_MACHINE \SOFTWARE\Wow6432Node\Microsoft\DevDiv\VS\Servicing \ 10,0 \
Détecter les versions antérieures de Visual Studio
Plusieurs versions de Visual Studio peuvent être installées sur le même ordinateur. Pour plus d'informations, consultez Plusieurs versions de prise en charge de Visual Studio.
Pour détecter des versions de Visual Studio , utilisez les identificateurs composants suivants dans le tableau de CompLocator de votre package Windows Installer.
Lignes de table de CompLocator
Signature_ |
ComponentID |
Type |
---|---|---|
CL_Devenv_2002 |
{} 0C4A71DF-5A73-11D3-A520-00A0C9231BA1 |
1 |
CL_Devenv_2003 |
{} 153B059B-B2F4-4B54-9AC3-32BE38E470E1 |
1 |
CL_Devenv_2005 |
{} 320DB690-7979-4015-BD78-A16D7279043B |
1 |
CL_Devenv_2008 |
{} 9E43F3BB-E7AE-4A97-ACF6-FB864533CC7E |
1 |
Utilisez le tableau d'AppSearch pour connecter les colonnes de Signature_ dans le tableau de CompLocator aux valeurs de propriété, comme suit.
Lignes de table d'AppSearch
Property |
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 |
Les valeurs des colonnes de propriété et de Signature_ peuvent être tous les noms, mais les valeurs de Signature_ dans les tableaux de CompLocator et d'AppSearch doivent correspondre. La propriété liée à votre localisateur composant est NULL si la version appropriée de Visual Studio n'est pas installée. Si la propriété est NULL, les conditions testées par rapport à la propriété sont réalisées.
Détecter des langages de programmation Visual Studio
Si votre VSPackage a besoin d'un langage de programmation particulier de Visual Studio, utilisez les lignes suivantes de CompLocator et AppSearch approprié des lignes pour déterminer si le langage est installé pour les versions spécifiques de Visual Studio.
Le tableau de CompLocator les lignes pour déterminer si Visual c# est installé
Signature_ |
ComponentID |
Type |
---|---|---|
CL_VCsharp_2002 |
{} B881292C-F099-11D4-A547-0090278A1BB8 |
1 |
CL_VCsharp_2003 |
{} 6110A574-76CE-45A5-92E8-2E194F20BBF7 |
1 |
CL_VCsharp_2005 |
{} 727833BC-8B4B-4480-B34A-B1A17CFF259B |
1 |
CL_VCSharp_2008 |
{} 8D70EE8E-1638-40C2-921B-28E52A68A986 |
1 |
CL_VCSharp_2010 |
{} D3246EF0-4F4E-4F81-B4FF-8C716EC0A929 |
1 |
Le tableau de CompLocator les lignes pour déterminer si Visual C++ est installé
Signature_ |
ComponentID |
Type |
---|---|---|
CL_VCpp_2002 |
{} 00E21CF5-5361-11D3-A51F-00A0C9231BA1 |
1 |
CL_VCpp_2003 |
{} 1E8D5C4E-0143-4871-9E7E-F04EEF70C3E0 |
1 |
CL_VCpp_2005 |
{} 28A38374-4A68-4562-9AF3-5D7BB96B0461 |
1 |
CL_VCpp_2008 |
{} 35DF9D40-8283-4661-B572-F7EACCAB287C |
1 |
CL_VCpp_2010 |
{} 82D71315-B841-492E-986E-2660ABD89CD1 |
1 |
Le tableau de CompLocator les lignes pour déterminer si Visual Basic est installé
Signature_ |
ComponentID |
Type |
---|---|---|
CL_VBasic_2002 |
{} 62EDCDC9-69F4-11D3-A521-00A0C9231BA1 |
1 |
CL_VBasic_2003 |
{} 667F7FE3-3165-41C4-9CF9-F2719ADF0505 |
1 |
CL_VBasic_2005 |
{} F5FDD145-7637-4CA7-90FE-6936A082CEDB |
1 |
CL_VBasic_2008 |
{} F59EAFC0-6C67-40F2-AE59-85E4CE330A4E |
1 |
CL_VBasic_2010 |
{} 235875C7-333C-4186-A46F-064431527642 |
1 |
Détecter des éditions de Visual Studio
Votre de commande fonctionnent de chargement de package applique l'édition minimum dont Visual Studio votre VSPackage a besoin, mais vous pouvez également détecter l'édition à l'installation. Pour plus d'informations, consultez VSPackage Load Keys.
Notes
Visual Studio VSPackages 2010 n'ont pas besoin de commande fonctionnent de chargement de package.
Empêcher un VSPackage d'être installé et d'afficher un message explicatif fournit une meilleure expérience utilisateur qu'en laissant le VSPackage est installé et ne pas fonctionner sur. Utilisez les lignes de table de RegLocator et les lignes de table d'AppSearch pour permettre à Windows Installer pour définir les propriétés que vous pouvez utiliser dans les tests conditionnels.
Le tableau de RegLocator les lignes pour détecter des éditions de Visual Studio
Signature_ |
Root |
Clé |
Nom |
Type |
---|---|---|---|---|
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 |
Détecter lorsque Visual Studio exécute
Votre package VS ne sera pas enregistrés correctement si Visual Studio s'exécute lorsque le VSPackage est installé. Le programme d'installation doit détecter lorsque Visual Studio exécute puis refuser d'installer le programme. Windows Installer ne vous permet pas utiliser des entrées de mappage pour activer une telle détection. À la place, vous devez créer une action personnalisée, comme suit : Utilisez la fonction d' EnumProcesses pour détecter le processus devenv.exe, puis l'un ou l'autre définit une propriété de programme d'installation qui est utilisée dans une condition de lancement ou de façon conditionnelle affiche une boîte de dialogue qui invite l'utilisateur à fermer Visual Studio.
Annuler l'installation à l'aide de conditions de lancement
Si les spécifications d'un caractère de votre package VS ne sont pas satisfaites, vous pouvez utiliser le tableau de LaunchCondition de package Windows Installer pour annuler l'installation. Le tableau de LaunchCondition possède une ligne de réussir la restauration chaque condition de lancement et un message s'affiche pour chaque condition qui n'est pas remplie. Les lignes de table de LaunchCondition de tableau suivant répertorie qui utilisent les propriétés système Windows Installer et les propriétés personnalisées de détection qui étaient installation précédente.
Notes
Étant donné qu'enregistrement d'un VSPackage requiert des valeurs de Registre en écriture à la clé HKEY_LOCAL_MACHINE, l'installation d'un VSPackage requiert des droits utilisateurs élevés, même si réellement exécutant le VSPackage ne requiert pas d'autorisations élevées.
Lignes de table de LaunchCondition exemple
Condition |
Description |
---|---|
DEVENV_COMP_2002 OR DEVENV_COMP_2003 OR DEVENV_COMP_2005 OR DEVENV_COMP_2008 installé |
Ce VSPackage a besoin de Visual Studio. |
=> 500 De VersionNT |
Windows 2000 est la configuration minimale requise pour le VSPackage. |
NOT VISUAL_STUDIO_RUNNING |
Visual Studio proche avant d'installer ce VSPackage. |
Privilégié |
Pour installer ce VSPackage, des droits utilisateurs est élevé sont requis. |
Notes
Si vous appuyez sur ce tableau d'AppSearch pour définir les propriétés que vous souhaitez utiliser dans le tableau de LaunchCondition, l'action standard d'AppSearch doit apparaître avant LaunchConditions dans le tableau d'InstallUISequence et le tableau d'InstallExecuteSequence.