Compartir a través de


Registrar un instalador de clase co-instalador

Nota:

Las características descritas en esta sección no se admiten en paquetes de controladores universales o móviles. Consulte Uso de un archivo INF universal.

Para registrar un coinstalador para cada dispositivo de una clase de instalación determinada, cree una entrada del Registro como la siguiente en la subclave HKLM\System\CurrentControlSet\Control\CoDeviceInstallers :

{setup-class-GUID}: REG_MULTI_SZ : "XyzCoInstall.dll,XyzCoInstallEntryPoint\0\0"

El sistema crea la clave CoDeviceInstallers . Setup-class-GUID especifica el GUID de la clase de instalación del dispositivo. Si el co-instalador se aplica a más de una clase de dispositivos, cree una entrada de valor independiente para cada clase de instalación.

No debe sobrescribir otros co-instaladores que se hayan escrito previamente en la clave setup-class-GUID . Lea la clave, anexe la cadena del co-instalador a la lista de REG_MULTI_SZ y vuelva a escribir la clave en el Registro.

Si omite CoInstallEntryPoint, el valor predeterminado es CoDeviceInstall.

El archivo DLL del co-instalador también debe copiarse en el directorio del sistema.

El co-instalador de clase está disponible para ser llamado para dispositivos y servicios relevantes una vez que se ha copiado el archivo y se hace la entrada del Registro.

En lugar de crear manualmente la entrada del Registro para registrar un co-instalador de clase, puede registrarla mediante un archivo INF como el ejemplo siguiente:

[DestinationDirs]
DefaultDestDir = 11    // DIRID_SYSTEM

[DefaultInstall]
CopyFiles = @classXcoinst.dll
AddReg = CoInstaller_AddReg

[CoInstaller_AddReg]
HKLM,System\CurrentControlSet\Control\CoDeviceInstallers, \
 {setup-class-GUID},0x00010008, "classXcoinst.dll,classXCoInstaller"
; above line uses the line continuation character ()

Este INF de ejemplo copia el archivo classXcoinst.dll en el directorio del sistema y realiza una entrada para la clase setup-class-GUID en la clave CoDeviceInstallers . La entrada de la sección Xxx_AddReg especifica dos marcas: la marca "00010000" especifica que la entrada es un REG_MULTI_SZ y la marca "00000008" especifica que el nuevo valor se va a anexar a cualquier valor existente (si el nuevo valor aún no está presente en la cadena).

Este tipo de INF que registra un co-instalador de clase se puede activar mediante una instalación con el botón derecho o a través de una aplicación que llama a SetupInstallFromInfSection.