Elegir el directorio de instalación de un VSPackage

Un VSPackage y sus archivos auxiliares deben estar en el sistema de archivos de un usuario. La ubicación depende de si VSPackage está administrado o no administrado, el esquema de control de versiones en paralelo y la elección del usuario.

VSPackages no administrados

Un VSPackage no administrado es un servidor COM que se puede instalar en cualquier ubicación. Su información de registro debe reflejar con precisión su ubicación. La interfaz de usuario (UI) del instalador debe proporcionar una ubicación predeterminada como subdirectorio del valor de propiedad ProgramFilesFolder de Windows Installer. Por ejemplo:

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

El usuario debe tener permiso para cambiar el directorio predeterminado para dar cabida a los usuarios que mantienen una pequeña partición de arranque y prefieren instalar aplicaciones y herramientas en otro volumen.

Si el esquema en paralelo usa un VSPackage con versiones, puede usar subdirectorios para almacenar diferentes versiones. Por ejemplo:

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

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

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

VSPackages administrado

Los VSPackages administrados también se pueden instalar en cualquier ubicación. Sin embargo, debe considerar la posibilidad de instalarlos siempre en la caché global de ensamblados (GAC) para reducir los tiempos de carga del ensamblado. Dado que los VSPackage administrados siempre son ensamblados con nombre seguro, instalarlos en la GAC significa que su comprobación de firma de nombre seguro solo tarda en el momento de la instalación. Los ensamblados con nombre seguro instalados en otra parte del sistema de archivos deben comprobar sus firmas cada vez que se cargan. Al instalar VSPackages administrados en la GAC, use el modificador /assembly de la herramienta regpkg para escribir entradas del Registro que apunten al nombre seguro del ensamblado.

Si instala VSPackages administrados en una ubicación distinta de la GAC, siga los consejos anteriores proporcionados para VSPackages no administrados para elegir jerarquías de directorios. Use el modificador /codebase de la herramienta regpkg para escribir entradas del Registro que apunten a la ruta de acceso del ensamblado VSPackage.

Para obtener más información, consulte Registro y anulación del registro de VSPackages.

archivos DLL satélite

Por convención, los archivos DLL satélite de VSPackage, que contienen recursos para una configuración regional determinada, se encuentran en subdirectorios del directorio VSPackage . Los subdirectorios corresponden a valores de identificador de configuración regional (LCID).

El artículo Administrar VSPackages indica que las entradas del Registro controlan dónde Visual Studio busca realmente el archivo DLL satélite de VSPackage. Sin embargo, Visual Studio intenta cargar un archivo DLL satélite en un subdirectorio denominado para un valor LCID, en el orden siguiente:

  1. LCID predeterminado (LCID de Visual Studio; por ejemplo, \1033 para inglés)

  2. LCID predeterminado con el sublanguaje predeterminado.

  3. LCID predeterminado del sistema.

  4. LCID predeterminado del sistema con el sublanguaje predeterminado.

  5. Inglés de EE. UU. (.\1033 o .\0x409).

Si el archivo DLL de VSPackage incluye recursos y la entrada del Registro SatelliteDll\DllName apunta a él, Visual Studio intenta cargarlos en el orden anterior.