Compartilhar via


Escolha o diretório de instalação para um VSPackage

Um VSPackage e seus arquivos de suporte devem estar no sistema de arquivos de um usuário. O local depende se o VSPackage é gerenciado ou não gerenciado, seu esquema de controle de versão lado a lado e a escolha do usuário.

VSPackages não gerenciados

Um VSPackage não gerenciado é um servidor COM que pode ser instalado em qualquer local. Suas informações de registro devem refletir com precisão sua localização. A interface do usuário (UI) do instalador deve fornecer um local padrão como um subdiretório do valor da propriedade do ProgramFilesFolder Windows Installer. Por exemplo:

<ProgramFilesFolder>\MyCompany>\MyVSPackageProduct>\V1.0\<<

O usuário deve ter permissão para alterar o diretório padrão para acomodar usuários que mantêm uma pequena partição de inicialização e preferem instalar aplicativos e ferramentas em outro volume.

Se seu esquema lado a lado usa um VSPackage versionado, você pode usar subdiretórios para armazenar versões diferentes. Por exemplo:

<ProgramFilesFolder>\MyCompany>\MyVSPackageProduct>\V1.0\2002\<<

<ProgramFilesFolder>\MyCompany>\MyVSPackageProduct>\V1.0\2003\<<

<ProgramFilesFolder>\MyCompany>\MyVSPackageProduct>\V1.0\2005\<<

VSPackages gerenciados

Os VSPackages gerenciados também podem ser instalados em qualquer local. No entanto, você deve considerar sempre instalá-los no GAC (cache de assembly global) para reduzir os tempos de carregamento do assembly. Como os VSPackages gerenciados são sempre assemblies de nome forte, instalá-los no GAC significa que a verificação de assinatura de nome forte leva apenas no momento da instalação. Os assemblies de nome forte instalados em outro lugar no sistema de arquivos devem ter suas assinaturas verificadas sempre que forem carregados. Ao instalar VSPackages gerenciados no GAC, use a opção /assembly da ferramenta regpkg para gravar entradas do Registro apontando para o nome forte do assembly .

Se você instalar VSPackages gerenciados em um local diferente do GAC, siga as recomendações anteriores dadas para VSPackages não gerenciados para escolher hierarquias de diretório. Use a opção /codebase da ferramenta regpkg para gravar entradas do Registro apontando para o caminho do assembly VSPackage.

Para obter mais informações, consulte Registrar e cancelar o registro de VSPackages.

DLLs satélites

Por convenção, as DLLs de satélite VSPackage, que contêm recursos para uma localidade específica, estão localizadas em subdiretórios do diretório VSPackage . Os subdiretórios correspondem a valores de ID de localidade (LCID).

O artigo Gerenciar VSPackages indica que as entradas do Registro controlam onde o Visual Studio realmente procura uma DLL satélite do VSPackage. No entanto, o Visual Studio tenta carregar uma DLL satélite em um subdiretório nomeado para um valor LCID, na seguinte ordem:

  1. LCID padrão (LCID do Visual Studio; por exemplo, \1033 para inglês)

  2. LCID padrão com o subidioma padrão.

  3. LCID padrão do sistema.

  4. LCID padrão do sistema com o subidioma padrão.

  5. Inglês dos EUA (.\1033 ou .\0x409).

Se sua DLL VSPackage inclui recursos e a entrada do Registro SatelliteDll\DllName aponta para ele, Visual Studio tenta carregá-los na ordem acima.