Registrando um co-instalador de classe
Observação
Os recursos descritos nesta seção não têm suporte em pacotes de driver móveis ou universais. Consulte Usando um arquivo INF universal.
Para registrar um co-instalador para cada dispositivo de uma classe de instalação específica, crie uma entrada de registro como a seguinte na subchave HKLM\System\CurrentControlSet\Control\CoDeviceInstallers :
{setup-class-GUID}: REG_MULTI_SZ : "XyzCoInstall.dll,XyzCoInstallEntryPoint\0\0"
O sistema cria a chave CoDeviceInstallers . Setup-class-GUID especifica o GUID para a classe de configuração do dispositivo. Se o co-instalador se aplicar a mais de uma classe de dispositivos, crie uma entrada de valor separada para cada classe de configuração.
Você não deve substituir outros co-instaladores que foram gravados anteriormente na chave setup-class-GUID . Leia a chave, acrescente a cadeia de caracteres do co-instalador à lista REG_MULTI_SZ e escreva a chave de volta no Registro.
Se você omitir o CoInstallEntryPoint, o padrão será CoDeviceInstall.
A DLL do co-instalador também deve ser copiada para o diretório do sistema.
O co-instalador de classe está disponível para ser chamado para dispositivos e serviços relevantes depois que o arquivo for copiado e a entrada do Registro for feita.
Em vez de criar manualmente a entrada do Registro para registrar um co-instalador de classe, você pode registrá-lo usando um arquivo INF como o exemplo a seguir:
[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 exemplo copia o arquivo classXcoinst.dll para o diretório do sistema e faz uma entrada para a classe setup-class-GUID sob a chave CoDeviceInstallers . A entrada na seção Xxx_AddReg especifica dois sinalizadores: o sinalizador "00010000" especifica que a entrada é um REG_MULTI_SZ e o sinalizador "00000008" especifica que o novo valor deve ser acrescentado a qualquer valor existente (se o novo valor ainda não estiver presente na cadeia de caracteres).
Esse INF que registra um co-instalador de classe pode ser ativado por uma instalação com o botão direito do mouse ou por meio de um aplicativo que chama SetupInstallFromInfSection.