Compartir a través de


Tabla SelfReg

La tabla SelfReg contiene información sobre los módulos que deben registrarse automáticamente. El instalador llama a la función DllRegisterServer durante la instalación del módulo y llama a DllUnregisterServer durante la desinstalación del módulo. El instalador no registra automáticamente archivos EXE.

La tabla SelfReg tiene las siguientes columnas.

Columna Tipo Clave Nullable
Archivo_ Identificador Y No
Coste Entero No Y

 

Columnas

Archivo_

Clave externa de la primera columna de la tabla File que indica el módulo que debe registrarse.

Costo

El costo de registrar el módulo, en bytes. No puede ser un número negativo.

Comentarios

Se recomienda encarecidamente a los autores de paquetes de instalación no usar el registro automático. En su lugar, para registrar los módulos deben crear una o varias tablas proporcionadas por el instalador para este fin. Para más información, consulte la sección Grupo de tablas del Registro. Muchas de las ventajas de tener un servicio de instalador central se pierden con el registro automático, ya que las rutinas de registro automático tienden a ocultar información de configuración crítica. Estas son algunas de las razones para evitar el registro automático:

  • La reversión de una instalación con módulos registrados automáticamente no se puede realizar de forma segura mediante DllUnregisterServer, ya que no hay ninguna manera de indicar si otra característica o aplicación usan las claves registradas automáticamente.
  • La capacidad para usar el anuncio se reduce si el registro del servidor de extensiones o clases se realiza dentro de rutinas del registro automático.
  • El instalador controla automáticamente las claves de HKCR en las tablas del Registro para las instalaciones por usuario o por máquina. Actualmente, las rutinas de DllRegisterServer no admiten la noción de una clave de HKCR por usuario.
  • Si varios usuarios usan una aplicación registrada automáticamente en el mismo equipo, cada uno de ellos debe instalar la aplicación la primera vez que la ejecuta. De lo contrario, el instalador no puede determinar fácilmente que existen las claves del Registro de HKCU adecuadas.
  • DllRegisterServer puede denegar el acceso a los recursos de red, como bibliotecas de tipos, si un componente se especifica como que se ejecuta desde el origen y que aparece en la tabla SelfReg. Esto puede hacer que se produzca un error de instalación del componente en una instalación administrativa.
  • Los archivos DLL de registro automático son más susceptibles a errores de codificación, ya que el nuevo código necesario para DllRegisterServer suele ser diferente para cada DLL. En su lugar, use las tablas del Registro de la base de datos para aprovechar el código existente que proporciona el instalador.
  • A veces, los archivos DLL de registro automático pueden vincularse a archivos DLL auxiliares que no están presentes o que son de la versión incorrecta. Por el contrario, el instalador puede registrar los archivos DLL mediante las tablas del Registro sin ninguna dependencia del estado actual del sistema.

Nota:

No puede especificar el orden en que el instalador registra, o anula el registro, los archivos DLL de registro automático mediante las acciones SelfUnRegModules y SelfUnRegModules. Consulte Especificación del orden del registro automático.

 

Validación

ICE03
ICE06
ICE32