共用方式為


偵測系統需求

除非在安裝 Visual Studio,VSPackage 無法發揮功能。 當您使用 Microsoft Windows Installer 來管理您的 VSPackage 安裝時,您就可以自動偵測是否已安裝 Visual Studio。 安裝程式也可以檢查其他的需求,例如特定的 Windows 版本或特定 RAM 數量的系統。 您也可以設定安裝程式,以便使用啟動條件來取消安裝,如果不符合 VSPackage 的需求。

偵測與服務機碼

登錄中的偵測子機碼讓您能判斷是否已在電腦上安裝 Visual Studio 產品。 服務子機碼讓您偵測是否已安裝產品的版本更新服務。

下表列出不同的 Visual Studio 產品偵測子機碼。

在表格中,LCID 代表您安裝環境的地區設定 ID (LCID)。 如需有效 LCID 的清單,請參閱 MSDN 網站上的 Microsoft 指派的地區設定 ID (英文)。

在列出的子機碼中,dword:00000001 表示 true,而 dword:00000000 表示 false。

產品

機碼

視覺 Studio2010 精簡化的極致

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\DevDiv\VS\Servicing\10.0\VSTSCore\$ (時間差異LCID)

視覺化的 Studio2010 收費

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\DevDiv\VS\Servicing\10.0\VSTDCore\$ (時間差異LCID)

Visual Studio2010 專業版

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\DevDiv\VS\Servicing\10.0\PROCore\$ (時間差異LCID)

Microsoft VisualStudio 2010 Shell(Integrated)

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\DevDiv\VS\Servicing\10.0\IntShell\$ (時間差異LCID)

注意事項注意事項

在 64 位元 Windows 作業系統上的索引鍵開始,如下所示: HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\DevDiv\VS\Servicing\10.0\

偵測較早版本的 Visual Studio

可以在同一部電腦上安裝多個版本的 Visual Studio。 如需詳細資訊,請參閱 支援多個版本的 Visual Studio

若要偵測Visual Studio版本中,使用下列的元件識別碼 CompLocator 表中的 Windows 安裝程式封裝。

CompLocator 資料表的資料列

Signature_

ComponentID

型別

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

您可以使用 AppSearch 資料表連接的屬性值,Signature_ CompLocator 資料表的資料行,如下所示。

AppSearch 資料表的資料列

屬性

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

屬性和 Signature_ 的資料行的值可以是任何名稱,但是 CompLocator 和 AppSearch 資料表中的 Signature_ 值必須相符。 如果未安裝適當的 Visual Studio 版本,連結到您的元件定位屬性會是 NULL。 如果屬性為 NULL,則可根據屬性測試條件為 false。

偵測 Visual Studio 的程式語言

如果您的 VSPackage 要求特定的 Visual Studio 的程式設計語言,請使用下列的 CompLocator 資料列和適當 AppSearch 列來偵測是否安裝的語言特定版本的 Visual Studio。

若要偵測是否視覺化的 C# 安裝 CompLocator 資料表的資料列

Signature_

ComponentID

型別

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

若要偵測是否安裝 Visual c + + 的 CompLocator 資料表資料列

Signature_

ComponentID

型別

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

若要偵測是否已安裝 Visual Basic CompLocator 資料表的資料列

Signature_

ComponentID

型別

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 版本

您的套件載入金鑰強制使用 Visual Studio 您 VSPackage 所需的最小版本,但您也可以偵測出在安裝的版本。 如需詳細資訊,請參閱 VSPackage Load Keys

注意事項注意事項

套件載入金鑰,並不需要 Visual Studio 2010 VSPackages。

防止 VSPackage 所安裝,並顯示說明訊息提供較佳的使用者經驗,比讓 VSPackage 安裝,並且無法運作。 使用下列 RegLocator 表格的列和適當 AppSearch 資料表的資料列來啟用 Windows 安裝程式來設定條件式測試,您可以使用的屬性。

RegLocator 資料表的資料列來偵測 Visual Studio 版本

Signature_

Root

機碼

名稱

型別

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

偵測執行 Visual Studio 時

您的 VSPackage 不會登錄正確如果在安裝 VSPackage 時,正在執行 Visual Studio。 安裝程式必須偵測執行 Visual Studio,然後再拒絕安裝程式。 Windows 安裝程式不允許您啟用這類偵測時,用於表格項目。 相反地,您必須建立自訂的動作,如下: 使用EnumProcesses函式來偵測 devenv.exe 處理序中,並接著設定用在啟動條件,或有條件地執行安裝程式屬性會顯示一個對話方塊,提示使用者關閉 Visual Studio。

取消安裝程式,使用 [啟動條件

如果不符合任何您 VSPackage 的需求,您可以使用 Windows Installer 封裝 LaunchCondition 資料表,取消安裝。 LaunchCondition 表格有一列的每一個啟動條件,而且要為每個不符合的條件顯示一則訊息。 下表列出使用 Windows Installer 系統屬性和自訂的偵測屬性中設定的更早版本的 LaunchCondition 資料表資料列。

注意事項注意事項

註冊 VSPackage,則需要撰寫登錄值的作用中計時間索引鍵,因為 VSPackage 安裝需要提高權限的使用者權限時,即使實際上執行 VSPackage 不需要提高權限。

範例 LaunchCondition 資料表的資料列

條件

描述

DEVENV_COMP_2002 或 DEVENV_COMP_2003 或 DEVENV_COMP_2005 或

安裝 DEVENV_COMP_2008

這個 VSPackage 需要 Visual Studio。

Versionnt> = > 500

Windows 2000 為 VSPackage 的最低需求。

不 VISUAL_STUDIO_RUNNING

安裝這個 VSPackage 之前,請關閉 Visual Studio。

特殊權限

若要安裝此 VSPackage,提升權限的使用者權限是必要的。

注意事項注意事項

若您採用 AppSearch 資料表,以設定您想要使用 LaunchCondition 資料表中的屬性,就必須 LaunchConditions 之前 AppSearch 標準動作出現在 InstallUISequence InstallExecuteSequence 資料表及。

請參閱

其他資源

藉由使用 Windows Installer 安裝 VSPackages