Udostępnij za pośrednictwem


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:

  1. Domyślny identyfikator LCID (Identyfikator LCID programu Visual Studio, na przykład \1033 dla języka angielskiego)

  2. Domyślny identyfikator LCID z domyślnym podlanguage.

  3. Domyślny identyfikator LCID systemu.

  4. Domyślny identyfikator LCID systemu z domyślnym podlanguage.

  5. 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.