選擇 VSPackage 的安裝目錄
VSPackage 及其支援檔案必須位於使用者的檔案系統上。 位置取決於 VSPackage 是受控還是非受控、並存版本控制配置,以及使用者選擇。
非受控 VSPackage
非受控 VSPackage 是可在任何位置安裝的 COM 伺服器。 其註冊資訊必須準確地反映其位置。 您的安裝程式使用者介面 (UI) 應該提供預設位置,做為 ProgramFilesFolder
Windows Installer 屬性值的子目錄。 例如:
<ProgramFilesFolder>\<MyCompany>\<MyVSPackageProduct>\V1.0\
使用者應該允許變更預設目錄,以容納保留小型開機磁碟分割區的使用者,並偏好在另一個磁碟區上安裝應用程式和工具。
如果您的並存配置使用已設定版本的 VSPackage,您可以使用子目錄來儲存不同的版本。 例如:
<ProgramFilesFolder>\<MyCompany>\<MyVSPackageProduct>\V1.0\2002\
<ProgramFilesFolder>\<MyCompany>\<MyVSPackageProduct>\V1.0\2003\
<ProgramFilesFolder>\<MyCompany>\<MyVSPackageProduct>\V1.0\2005\
Managed VSPackage
受控 VSPackage 也可以安裝在任何位置。 不過,您應該考慮一律將它們安裝到全域組件快取 (GAC),以減少組件載入時間。 因為受控 VSPackage 一律是強式命名的組件,因此在 GAC 中安裝它們表示其強式命名簽章驗證只會在安裝時間進行。 檔案系統中其他地方安裝的強式命名組件必須在每次載入時驗證其簽章。 當您在 GAC 中安裝受控 VSPackage 時,請使用 regpkg 工具的 /assembly 參數來寫入指向組件強式名稱的登錄項目。
如果您在 GAC 以外的位置安裝受控 VSPackage,請遵循針對非受控 VSPackage 提供的先前建議來選擇目錄階層。 使用 regpkg 工具的 /codebase 參數來撰寫指向 VSPackage 組件路徑的登錄項目。
如需詳細資訊,請參閱註冊和取消註冊 VSPackage。
附屬 DLL
根據慣例,包含特定地區設定資源的 VSPackage 附屬 DLL 位於 VSPackage 目錄的子目錄中。 子目錄會對應至地區設定識別碼 (LCID) 值。
管理 VSPackage一文指出登錄項目可控制 Visual Studio 實際尋找 VSPackage 的附屬 DLL 的位置。 不過,Visual Studio 會依下列順序,嘗試在針對 LCID 值命名的子目錄中載入附屬 DLL:
預設 LCID (Visual Studio LCID;例如英文專用的 \1033)
具有預設子語言的預設 LCID。
系統預設 LCID。
具有預設子語言的系統預設 LCID。
美國英文 (.\1033 或 .\0x409)。
如果您的 VSPackage DLL 包含資源和 SatelliteDll\DllName 登錄進入點,Visual Studio 會嘗試以上述順序載入它們。