Wybieranie katalogu instalacyjnego pakietu VSPackage
Pakiet VSPackage i jego pliki pomocnicze muszą znajdować się w systemie plików użytkownika. Lokalizacja zależy od tego, czy pakiet VSPackage jest zarządzany, czy niezarządzany, schemat przechowywania wersji side-by-side i wybór użytkownika.
Niezarządzane pakiety VSPackage
Niezarządzany pakiet VSPackage to serwer COM, który można zainstalować w dowolnej lokalizacji. Informacje o rejestracji muszą dokładnie odzwierciedlać jego lokalizację. Interfejs użytkownika instalatora powinien podać domyślną lokalizację jako podkatalog ProgramFilesFolder
wartości właściwości Instalatora Windows. Na przykład:
<ProgramFilesFolder>\<MyCompany>\<MyVSPackageProduct>\V1.0\
Użytkownik powinien mieć możliwość zmiany katalogu domyślnego, aby uwzględnić użytkowników, którzy zachowają małą partycję rozruchową i wolą instalować aplikacje i narzędzia na innym woluminie.
Jeśli schemat side-by-side używa wersji pakietu VSPackage, można użyć podkatalogów do przechowywania różnych wersji. Na przykład:
<ProgramFilesFolder>\<MyCompany>\<MyVSPackageProduct>\V1.0\2002\
<ProgramFilesFolder>\<MyCompany>\<MyVSPackageProduct>\V1.0\2003\
<ProgramFilesFolder>\<MyCompany>\<MyVSPackageProduct>\V1.0\2005\
Zarządzane pakiety VSPackage
Zarządzane pakiety VSPackage można również zainstalować w dowolnej lokalizacji. Należy jednak rozważyć, aby zawsze instalować je w globalnej pamięci podręcznej zestawów (GAC), aby skrócić czas ładowania zestawów. Ponieważ zarządzane pakiety VSPackage są zawsze zestawami o silnych nazwach, instalowanie ich w GAC oznacza, że ich weryfikacja podpisu silnej nazwy trwa tylko w czasie instalacji. Zestawy o silnych nazwach zainstalowane w innym miejscu w systemie plików muszą być weryfikowane za każdym razem, gdy są ładowane. Podczas instalowania zarządzanych pakietów VSPackage w GAC użyj przełącznika /assembly narzędzia regpkg, aby zapisać wpisy rejestru wskazujące na silną nazwę zestawu.
Jeśli instalujesz zarządzane pakiety VSPackage w lokalizacji innej niż GAC, postępuj zgodnie z wcześniejszymi poradami podanymi dla niezarządzanych pakietów VSPackage do wybierania hierarchii katalogów. Użyj przełącznika /codebase narzędzia regpkg, aby zapisać wpisy rejestru wskazujące ścieżkę zestawu VSPackage.
Aby uzyskać więcej informacji, zobacz Rejestrowanie i wyrejestrowywanie pakietów VSPackage.
Biblioteki DLL Satellite
Zgodnie z konwencją biblioteki DLL satelity VSPackage, które zawierają zasoby dla określonych ustawień regionalnych, znajdują się w podkatalogach katalogu VSPackage . Podkatalogi odpowiadają wartościom identyfikatora ustawień regionalnych (LCID).
Artykuł Manage VSPackages (Zarządzanie pakietami VSPackages ) wskazuje, że wpisy rejestru kontrolują miejsce, w którym program Visual Studio rzeczywiście szuka satelitarnej biblioteki DLL programu VSPackage. Jednak program Visual Studio próbuje załadować satelitarną bibliotekę DLL w podkatalogu o nazwie dla wartości LCID w następującej kolejności:
Domyślny identyfikator LCID (Identyfikator LCID programu Visual Studio, na przykład \1033 dla języka angielskiego)
Domyślny identyfikator LCID z domyślnym podlanguage.
Domyślny identyfikator LCID systemu.
Domyślny identyfikator LCID systemu z domyślnym podlanguage.
Angielski (.\1033 lub .\0x409).
Jeśli biblioteka DLL pakietu VSPackage zawiera zasoby i punkt wejścia rejestru SatelliteDll\DllName , program Visual Studio próbuje załadować je w powyższej kolejności.