Erkennen Systemanforderungen
VSPackage kann nicht funktionieren, es sei denn, Visual Studio installiert ist. Wenn Sie Microsoft Windows Installer verwenden, um die Installation von VSPackages zu verwalten, können Sie erkennen automatisch, ob Visual Studio installiert ist. Das Installationsprogramm kann das System für andere Anforderungen beispielsweise eine bestimmte Version von Windows oder eine bestimmte Menge an RAM von Validierungsregeln überprüft werden. Sie können auch das Installationsprogramm so konfigurieren, dass für Startbedingungen zu verwenden, um die Installation abzubrechen, wenn die VSPackage-Bedingungen nicht erfüllt werden.
Erkennungs- und Wartungsschlüssel
Mit den Erkennungsunterschlüsseln in der Registrierung kann ermittelt werden, ob ein Visual Studio-Produkt bereits auf einem Computer installiert ist. Anhand der Wartungsunterschlüsseln erkennen Sie, ob eine Dienstversion des Produkts installiert ist.
In der folgenden Tabelle werden die Erkennungs unterschlüssel für verschiedene Visual Studio-Produkte aufgeführt.
In der Tabelle stellt LCID die Gebietsschema-ID (LCID) der Installation dar. Eine Liste mit der gültigen LCIDs finden Sie unter Locale IDs Assigned by Microsoft.
In den aufgeführten Unterschlüsseln steht "dword:00000001" für "true", und "dword:00000000" für "false".
Produkt |
Schlüssel |
---|---|
Visual Studio2010 Ultimate |
HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ DevDiv \ \ GEGEN Verwaltung \ 10.0 \ VSTSCore \ $ (SortenLCID) |
Visual Studio2010 Premium |
HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ DevDiv \ \ GEGEN Verwaltung \ 10.0 \ VSTDCore \ $ (SortenLCID) |
Visual Studio2010 Professional |
HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ DevDiv \ \ GEGEN Verwaltung \ 10.0 \ PROCore \ $ (SortenLCID) |
Shell Microsoft VisualStudio 2010 (integriert) |
HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ DevDiv \ \ GEGEN Verwaltung \ 10.0 \ IntShell \ $ (SortenLCID) |
Hinweis
Auf einem 64-Bit-Windows-Betriebssystem starten die Tasten wie folgt: HKEY_LOCAL_MACHINE \ SOFTWARE \ Wow6432Node \ Microsoft \ DevDiv \ \ GEGEN Verwaltung \ 10.0 \
Frühere Versionen von Visual Studio die Erkennung
Mehrere Versionen von Visual Studio können auf demselben Computer installiert werden. Weitere Informationen finden Sie unter Unterstützung mehrerer Versionen von Visual Studio.
Um Visual Studio-Versionen zu erkennen, verwenden Sie die folgenden Teile id des Windows Installer-Pakets in der CompLocator-Tabelle.
CompLocator-Tabellen von Zeilen
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 |
Verwenden Sie die AppSearch-Tabelle, um die Signature_-Spalten in der CompLocator-Tabelle an Eigenschaftswerte wie folgt herstellen.
AppSearch-Tabellen von Zeilen
Eigenschaft |
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 |
Die Werte in den Eigenschaften- und Signature_-Spalten können beliebige Namen sein, aber die Signature_-Werte in Tabellen und CompLocator AppSearch müssen übereinstimmen. Die Eigenschaft, die dem Part lokator verknüpft ist, ist NULL, wenn die entsprechende Version von Visual Studio nicht installiert ist. Wenn die Eigenschaft NULL ist, sind die Bedingungen, die für die Eigenschaft getestet werden, falsch.
Erkennen von Programmiersprachen von Visual Studio
Wenn ein VSPackage eine bestimmte Visual Studio-Programmiersprache erfordert, verwenden Sie die folgenden CompLocator-Zeilen und verwenden Sie AppSearch-Zeilen, um zu ermitteln, ob die Sprache für bestimmte Versionen von Visual Studio installiert ist.
So erkennen Sie, dass Zeilen CompLocator-Tabellen der Installation von Visual C#
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 |
So erkennen Sie, dass Zeilen CompLocator-Tabellen der Installation von Visual C++
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 |
So erkennen Sie, dass Zeilen CompLocator-Tabellen Visual Basic installiert ist
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 |
Visual Studio-Editionen erkennen
Der Paketladeschlüssel erzwingt die minimale Version von Visual Studio, die das VSPackage erfordert, Sie können jedoch auch bei der Installation die Version erkannt wird. Weitere Informationen finden Sie unter VSPackage Load Keys.
Hinweis
VSPackages Visual Studio 2010 erfordern keinen Paketladeschlüssel.
Das Verhindern, dass ein VSPackage Sein installiert und eine erläuternde Nachricht bietet eine bessere Benutzerfreundlichkeit beim Anzeigen lassend VSPackages und dann zu arbeiten sollten Sie nicht installiert. Verwenden Sie die folgenden Zeilen RegLocator-Tabellen und verwenden Sie AppSearch-Tabellen Windows Installer, um Zeilen zu ermöglichen, um Eigenschaften festzulegen, die Sie in den Bedingungsabfragen verwenden können.
Zeilen RegLocator-Tabellen von Visual Studio-Editionen erkannt
Signature_ |
Root |
Schlüssel |
Name |
type |
---|---|---|---|---|
RL_2002_Professional |
2 |
SOFTWARE \ Microsoft \ VisualStudio \ 7.0 \ Setup \ \ GEGEN pro |
ProductDir |
0 |
RL_2002_Enterprise |
2 |
SOFTWARE \ Microsoft \ VisualStudio \ 7.0 \ Setup \ GEGEN \ HNO |
ProductDir |
0 |
RL_2003_Professional |
2 |
SOFTWARE \ Microsoft \ VisualStudio \ 7.1 \ Setup \ \ GEGEN pro |
ProductDir |
0 |
RL_2003_EnterpriseDeveloper |
2 |
SOFTWARE \ Microsoft \ VisualStudio \ 7.1 \ Setup \ GEGEN \ HNO |
ProductDir |
0 |
RL_2003_EnterpriseArchitect |
2 |
SOFTWARE \ Microsoft \ VisualStudio \ 7.1 \ Setup \ GEGEN \ Bögen |
ProductDir |
0 |
RL_2005_Standard |
2 |
SOFTWARE \ Microsoft \ VisualStudio \ 8.0 \ Setup \ GEGEN \ std |
ProductDir |
0 |
RL_2005_Professional |
2 |
SOFTWARE \ Microsoft \ VisualStudio \ 8.0 \ Setup \ \ GEGEN pro |
ProductDir |
0 |
RL_2005_TeamArchitect |
2 |
SOFTWARE \ Microsoft \ VisualStudio \ 8.0 \ Setup \ VSTA \ GEGEN |
ProductDir |
0 |
RL_2005_TeamDeveloper |
2 |
SOFTWARE \ Microsoft \ VisualStudio \ 8.0 \ Setup \ GEGEN \ VSTD |
ProductDir |
0 |
RL_2005_TeamSuite |
2 |
SOFTWARE \ Microsoft \ VisualStudio \ 8.0 \ Setup \ \ GEGEN VSTS |
ProductDir |
0 |
RL_2005_TeamTest |
2 |
SOFTWARE \ Microsoft \ VisualStudio \ 8.0 \ Setup \ GEGEN \ VSTT |
ProductDir |
0 |
RL_2005_VSTO |
2 |
SOFTWARE \ Microsoft \ VisualStudio \ 8.0 \ Setup \ \ GEGEN VSTO |
ProductDir |
0 |
Erkennen, wenn Visual Studio ausgeführt wird
Der VSPackage ist nicht ordnungsgemäß registriert, wenn Visual Studio ausgeführt wird, wenn ein VSPackage installiert ist. Das Installationsprogramm muss erkennen, wann Visual Studio ausgeführt wird und dann ablehnen, das Programm zu installieren. Tabelleneinträge Windows Installer kann nicht verwendet werden, um solche Erkennung zu aktivieren. Stattdessen müssen Sie eine benutzerdefinierte Aktion erstellen, wie folgt: Verwenden Sie die EnumProcesses-Funktion, um den devenv.exe-Prozess zu erkennen, und legen Sie dann entweder eine Installationsprogramm Eigenschaft, die in einer Startbedingung festgelegt oder ist bedingt wird ein Dialogfeld mit der Benutzer auffordert, Visual Studio zu schließen.
Setup mithilfe von Startbedingungen abbrechen
Wenn eine der Anforderungen des VSPackage werden nicht, können Sie die Windows Installer-Paket LaunchConditions-Tabelle verwenden, um die Installation abzubrechen erfüllt. Die LaunchConditions-Tabelle enthält eine Zeile für jede Startbedingung und eine Meldung anzeigt, die für jede Bedingung nicht erfüllt wird. In der folgenden Tabelle werden LaunchConditions-Tabellen von Zeilen auf, die Windows Installer-Systemeigenschaften und benutzerdefinierte Erkennungs Eigenschaften verwenden, die bereits eingerichtet wurden.
Hinweis
Da die Registrierung eines VSPackage Schreiben registrierungs Werte zur HKEY_LOCAL_MACHINE-Taste erfordert, erfordert VSPackage-Installation erhöhten Benutzerrechte, selbst wenn ein VSPackage eigentlich nicht ausführen erweiterte Berechtigungen erforderlich sind.
Beispiel-LaunchConditions-Tabellen von Zeilen
Bedingung |
Beschreibung |
---|---|
DEVENV_COMP_2002 OR DEVENV_COMP_2003 OR DEVENV_COMP_2005 OR Installieren DEVENV_COMP_2008 |
Dies erfordert VSPackages Visual Studio. |
VersionNT-=AMP GT 500 |
Windows 2000 ist die Mindestanforderung für ein VSPackage. |
NOT VISUAL_STUDIO_RUNNING |
Nahes Visual Studio, bevor Sie dieses einem VSPackage installieren. |
Privilegiert |
Um dieses VSPackages zu installieren, sind erhöhten Benutzerrechte erforderlich. |
Hinweis
Wenn Sie auf die AppSearch-Tabelle verlassen, um die Eigenschaften festzulegen, die Sie in der LaunchConditions-Tabelle verwenden möchten, muss die standardmäßige fungiert AppSearch vor LaunchConditions in der InstallUISequence-Tabelle und in der InstallExecuteSequence-Tabelle angezeigt werden.