Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
VSPackages debe avisar a Visual Studio de que están instalados y deben cargarse. Este proceso se logra escribiendo información en el Registro. Es un trabajo típico de un instalador.
Nota:
Es una práctica aceptada durante el desarrollo de VSPackage para usar el registro automático. Sin embargo, los asociados del programa Visual Studio Industry Partner (VSIP) no pueden enviar sus productos mediante el registro automático como parte de la configuración.
Las entradas del Registro en un paquete de Windows Installer se realizan generalmente en la tabla Registro. También puede registrar extensiones de archivo en la tabla Registro. Sin embargo, Windows Installer proporciona compatibilidad integrada mediante el identificador de programación (ProgId), las tablas de clases, extensiones y verbos. Para obtener más información, vea Tablas de base de datos.
Asegúrate de que las entradas del registro están asociadas al componente adecuado para la estrategia en paralelo elegida. Por ejemplo, las entradas del Registro para un archivo compartido deben estar asociadas al componente de Windows Installer de ese archivo. Del mismo modo, las entradas del Registro para un archivo de una versión específica deben asociarse con el componente de ese archivo. De lo contrario, la instalación o desinstalación de su VSPackage para una versión de Visual Studio podría interrumpir su VSPackage en otras versiones. Para obtener más información, vea Compatibilidad con varias versiones de Visual Studio.
Nota:
La manera más fácil de administrar el registro es usar los mismos datos en los mismos archivos para el registro de desarrollador y el registro en tiempo de instalación. Por ejemplo, algunas herramientas de desarrollo del instalador pueden consumir archivos en .reg formato en tiempo de compilación. Si los desarrolladores mantienen archivos .reg para su desarrollo y depuración diarios, esos mismos archivos se pueden incluir automáticamente en el instalador. Si no puede compartir automáticamente los datos de registro, debe asegurarse de que la copia del instalador de los datos de registro está actualizada.
Registro de paquetes VS no administrados
Los VSPackages no administrados (incluidos los generados por la plantilla de paquete de Visual Studio) usan archivos .rgs de estilo ATL para almacenar información de registro. El formato de archivo .rgs es específico de ATL y no puede ser utilizado tal cual por una herramienta de creación de instalación. La información de registro del instalador de VSPackage debe mantenerse por separado. Por ejemplo, los desarrolladores pueden mantener los archivos en formato .reg sincronizados con los cambios en los archivos .rgs. Los archivos .reg se pueden combinar con RegEdit para el trabajo de desarrollo o consumidos por un instalador.
Registro de VSPackages administrados
La herramienta RegPkg lee los atributos de registro de un VSPackage administrado y puede escribir la información directamente en el registro o escribir archivos con formato .reg que un instalador pueda consumir.
Nota:
La herramienta RegPkg no es redistribuible y no se puede usar para registrar un VSPackage en el sistema de un usuario.
¿Por qué los VSPackages no deben registrarse automáticamente en el momento de la instalación?
Los instaladores de VSPackage no deben depender del registro automático. A primera vista, mantener los valores del registro de VSPackage solo en el propio VSPackage parece una buena idea. Dado que los desarrolladores necesitan los valores del Registro disponibles para su trabajo y pruebas rutinarios, tiene sentido evitar mantener una copia independiente de los datos del Registro en el instalador. El instalador puede confiar en el propio VSPackage para escribir valores del Registro.
Aunque es bueno en teoría, el registro automático tiene varios errores que hacen que no sea adecuado para la instalación de VSPackage:
Para admitir correctamente la instalación, desinstalación, reversión de la instalación y reversión de desinstalación, es necesario crear cuatro acciones personalizadas para cada VSPackage administrado que se registre automáticamente mediante una llamada a RegPkg.
El enfoque para la compatibilidad en paralelo puede requerir que cree cuatro acciones personalizadas que invoquen RegSvr32 o RegPkg para cada versión compatible de Visual Studio.
Una instalación con módulos auto registrados no se puede revertir de forma segura porque no hay ninguna manera de indicar si otra característica o aplicación usan las claves auto registradas.
A veces, los archivos DLL auto registrados se vinculan a archivos DLL auxiliares que no están presentes o son la versión incorrecta. Por el contrario, Windows Installer puede registrar archivos DLL mediante las tablas del Registro sin ninguna dependencia del estado actual del sistema.
El acceso del código de autorregistro a los recursos de red, como las bibliotecas de tipos, se puede denegar si un componente está especificado como ejecutar desde el origen y aparece en la tabla SelfReg. Esto puede hacer que se produzca un error en la instalación del componente durante una instalación administrativa.