En choisissant le répertoire d’Installation pour un VSPackageChoosing the Installation Directory for a VSPackage

Un VSPackage et ses fichiers de prise en charge doivent être sur le système de fichiers d’un utilisateur.A VSPackage and its supporting files must be on a user's file system. L’emplacement varie selon que le VSPackage est géré ou non managé, le schéma de contrôle de version côte à côte et de votre choix de l’utilisateur.The location depends on whether the VSPackage is managed or unmanaged, your side-by-side versioning scheme, and user choice.

VSPackages non managésUnmanaged VSPackages

Un VSPackage non managé est un serveur COM qui peut être installé dans n’importe quel emplacement.An unmanaged VSPackage is a COM server that can be installed in any location. Informations d’enregistrement doit reflète précisément son emplacement.Its registration information must accurately reflects its location. Votre interface utilisateur (IU) du installer doit fournir un emplacement par défaut comme un sous-répertoire de la propriété ProgramFilesFolder Windows Installer.Your installer user interface (UI) should provide a default location as a subdirectory of the ProgramFilesFolder Windows Installer property. Par exemple :For example:

[ProgramFilesFolder] MyCompany\MyVSPackageProduct\V1.0\[ProgramFilesFolder]MyCompany\MyVSPackageProduct\V1.0\

L’utilisateur doit être autorisé à modifier le répertoire par défaut pour les utilisateurs qui conservent une partition de démarrage de petits et préférez installer les outils et applications sur un autre volume.The user should be allowed to change the default directory to accommodate users who keep a small boot partition and prefer to install applications and tools on another volume.

Si votre schéma côte-à-côte utilise un contrôle de version du VSPackage, vous pouvez utiliser dans les sous-répertoires pour stocker des versions différentes.If your side-by-side scheme uses a versioned VSPackage, you can use subdirectories to store different versions. Par exemple :For example:

[ProgramFilesFolder] MyCompany\MyVSPackageProduct\V1.0\2002\[ProgramFilesFolder]MyCompany\MyVSPackageProduct\V1.0\2002\

[ProgramFilesFolder] MyCompany\MyVSPackageProduct\V1.0\2003\[ProgramFilesFolder]MyCompany\MyVSPackageProduct\V1.0\2003\

[ProgramFilesFolder] MyCompany\MyVSPackageProduct\V1.0\2005\[ProgramFilesFolder]MyCompany\MyVSPackageProduct\V1.0\2005\

VSPackages gérésManaged VSPackages

VSPackages gérés peuvent également être installés dans n’importe quel emplacement.Managed VSPackages can also be installed in any location. Toutefois, vous devez envisager de les installer toujours dans le global assembly cache (GAC) afin de réduire le temps de chargement d’assembly.However, you should consider always installing them to the global assembly cache (GAC) to reduce assembly load times. Étant donné que les VSPackages gérés sont toujours des assemblys avec nom fort, leur installation dans le GAC signifie que leur vérification de signature de nom fort prend uniquement au moment de l’installation.Because managed VSPackages are always strong-named assemblies, installing them in the GAC means that their strong-name signature verification takes only at installation time. Assemblys avec nom fort installés ailleurs dans le système de fichiers doivent avoir leurs signatures vérifiés chaque fois qu’ils sont chargés.Strong-named assemblies installed elsewhere in the file system must have their signatures verified every time they are loaded. Lorsque vous installez les VSPackages gérés dans le GAC, utilisez l’outil regpkg /assembly commutateur pour écrire des entrées de Registre pointant vers le nom fort de l’assembly.When you install managed VSPackages in the GAC, use the regpkg tool's /assembly switch to write registry entries pointing to the assembly's strong name.

Si vous installez les VSPackages gérés dans un emplacement autre que le GAC, suivez les conseils d’antérieures donnés pour les VSPackages non managés pour le choix des hiérarchies de répertoires.If you install managed VSPackages in a location other than the GAC, follow the earlier advice given for unmanaged VSPackages for choosing directory hierarchies. Utilisez l’outil regpkg / codebase commutateur pour écrire des entrées de Registre pointant vers le chemin d’accès de l’assembly VSPackage.Use the regpkg tool's /codebase switch to write registry entries pointing to the path of the VSPackage assembly.

Pour plus d’informations, consultez inscription et annulation de l’inscription de VSPackages.For more information, see Registering and Unregistering VSPackages.

DLL satellitesSatellite DLLs

Par convention, VSPackage les DLL satellites, qui contiennent des ressources pour une langue particulière, se trouvent dans les sous-répertoires du répertoire VSPackage.By convention, VSPackage satellite DLLs — which contain resources for a particular locale — are located in subdirectories of the VSPackage directory. Les sous-répertoires correspondent aux valeurs de paramètres régionaux (LCID) de code.The subdirectories correspond to locale ID (LCID) values.

Gestion des VSPackages indique que les entrées de Registre contrôlent where Visual StudioVisual Studio réellement la recherche d’un VSPackage satellite DLL.Managing VSPackages indicates that registry entries control where Visual StudioVisual Studio actually looks for a VSPackage's satellite DLL. Toutefois, Visual StudioVisual Studio essaie de charger une DLL satellite dans un sous-répertoire nommé pour une valeur LCID, dans l’ordre suivant :However, Visual StudioVisual Studio tries to load a satellite DLL in a subdirectory named for an LCID value, in the following order:

  1. La valeur par défaut LCID (VS LCID par exemple \1033 pour l’anglais)Default LCID (VS LCID for example \1033 for English)

  2. LCID par défaut avec la sous-langue par défaut.Default LCID with the default sublanguage.

  3. Système LCID par défaut.System default LCID.

  4. Système LCID par défaut avec la sous-langue par défaut.System default LCID with the default sublanguage.

  5. ÉTATS-UNIS Anglais (. \1033 ou. \0x409).U.S. English (.\1033 or .\0x409).

    Si votre DLL VSPackage inclut les ressources et les points d’entrée de Registre SatelliteDll\DllName, Visual StudioVisual Studio tente de les charger dans l’ordre indiqué ci-dessus.If your VSPackage DLL includes resources and the SatelliteDll\DllName registry entry points to it, Visual StudioVisual Studio attempts to load them in the above order.

Voir aussiSee Also

Choix entre les VSPackages partagés et version Choosing Between Shared and Versioned VSPackages
Gestion des VSPackages Managing VSPackages
Inscription de Package géréeManaged Package Registration