Share via


Sezione INF DDInstall.CoInstallers

Attenzione

A partire da Windows 11 versione 22H2, un pacchetto driver che usa questa sezione non è più idoneo per una firma da Hardware Developer Center.

I pacchetti driver universali e i driver di Windows non possono usare questa sezione.

Questa sezione facoltativa registra uno o più co-installer specifici del dispositivo forniti nel supporto di distribuzione per integrare le operazioni dei programmi di installazione delle classi di dispositivi esistenti.

[install-section-name.CoInstallers] |
[install-section-name.nt.CoInstallers] | 
[install-section-name.ntx86.CoInstallers] | 
[install-section-name.ntia64.CoInstallers] | (Windows XP and later versions of Windows)
[install-section-name.ntamd64.CoInstallers] | (Windows XP and later versions of Windows)
[install-section-name.ntarm.CoInstallers] | (Windows 8 and later versions of Windows)
[install-section-name.ntarm64.CoInstallers] (Windows 10 version 1709 and later versions of Windows)
  
AddReg=add-registry-section[,add-registry-section]... 
CopyFiles=@filename | file-list-section[,file-list-section]...
[Include=filename.inf[,filename2.inf]...]
[Needs=inf-section-name[,inf-section-name]...]
[DelFiles=file-list-section[,file-list-section]...]
[RenFiles=file-list-section[,file-list-section]...]
[DelReg=del-registry-section[,del-registry-section]...] 
[BitReg=bit-registry-section[,bit-registry-section]...]
[UpdateInis=update-ini-section[,update-ini-section]...]
[UpdateIniFields=update-inifields-section[,update-inifields-section]...]
[Ini2Reg=ini-to-registry-section[,ini-to-registry-section]...]
... 

Voci

AddReg=add-registry-section[,add-registry-section]...
Fa riferimento a uno o più componenti aggiuntivi definiti dal writer INF che archivia le informazioni del Registro di sistemasui co-installer forniti.

Una hkR specificata in tale sezione del Registro di sistema designa il percorso del Registro di sistema "chiave software" del dispositivo installato. Pertanto, per un co-programma di installazione specifico del dispositivo, scrive (o modifica) una voce di valore CoInstallers32 in questa chiave "software" accessibile dall'utente/dispositivo/driver.

Per un co-installer specifico della classe, registra i nuovi co-installer modificando il contenuto dell'oggetto appropriato . Sottochiave CoDeviceInstallers\SetupClassGUID . Il percorso delle sottochiavi del Registro di sistema appropriate SetupClassGUID deve essere specificato in modo esplicito nelle sezioni del Registro di sistema di riferimento.

Per altre informazioni, vedere Direttiva INF AddReg.

CopyFiles=@filename | file-list-section*[,file-list-section]...
Trasferisce i file di co-installer di origine alla destinazione nel computer di destinazione, in genere facendo riferimento a uno o più file-writer-writer-definite da INF altrove nel file INF. Tale sezione dell'elenco di file specifica i file di co-installer da copiare dal supporto di origine alla directory di destinazione nella destinazione.

Tuttavia, i file INF di sistema che installano co-installer non usano mai questa direttiva in una DDInstall. Sezione CoInstallers .

Per altre informazioni, vedere Direttiva COPYFiles INF.

Include=filename. inf[,filename2.inf]...
Specifica uno o più file INF forniti dal sistema che contengono sezioni necessarie per installare i co-installer per questo dispositivo o classe di installazione del dispositivo. Un file INF con questa voce deve in genere specificare Esigenze.

Needs=inf-section-name[,inf-section-name]...
Specifica le sezioni specifiche che devono essere elaborate durante l'installazione di questo dispositivo. In genere, tale sezione denominata è una DDInstall. Sezione CoInstallers all'interno di un file INF fornito dal sistema elencato in una voce Includi . Tuttavia, può essere qualsiasi sezione a cui si fa riferimento all'interno di tale DDInstall. Sezione CoInstallers dell'INF incluso.

DelFiles=file-list-section[,file-list-section]...
Fa riferimento a una sezione elenco file che specifica i file da rimuovere dalla destinazione. Questa direttiva viene usata raramente.

Per altre informazioni, vedere Direttiva INF DelFiles.

RenFiles=file-list-section[,file-list-section]...
Fa riferimento a una sezione elenco file che specifica i file nella destinazione da rinominare prima che i file di origine del co-installer vengano copiati nella destinazione. Questa direttiva viene usata raramente.

Per altre informazioni, vedere Direttiva INF RenFiles.

DelReg=del-registry-section[,del-registry-section]...
Fa riferimento a uno o più writer INF-define delete-registry-sections. Tale sezione specifica informazioni sul Registro di sistema non aggiornate sui co-installer per un'installazione precedente degli stessi dispositivi che devono essere rimossi dal Registro di sistema. Un HKR specificato in tale sezione del Registro di sistema di eliminazione designa la stessa sottochiave del Registro di sistema come già descritto per la voce AddReg . Questa direttiva viene raramente usata in una DDInstall. Sezione CoInstallers .

Per altre informazioni, vedere Direttiva INF DelReg.

BitReg=bit-registry-section[,bit-registry-section]...
Questa voce è valida in questa sezione, ma quasi mai usata. Una hkR specificata in tale sezione del Registro di sistema in bit designa la stessa sottochiave del Registro di sistema come già descritto per la voce AddReg .

Per altre informazioni, vedere Direttiva INF BitReg.

UpdateInis=update-ini-section[,update-ini-section]...
Questa voce è valida in questa sezione, ma quasi mai usata.

Per altre informazioni, vedere Direttiva INF UpdateInis.

UpdateIniFields=update-inifields-section[,update-inifields-section]...
Questa voce è valida in questa sezione, ma quasi mai usata.

Per altre informazioni, vedere Direttiva INF UpdateIniFields.

Ini2Reg=ini-to-registry-section[,ini-to-registry-section]...
Questa voce è valida in questa sezione, ma quasi mai usata.

Per altre informazioni, vedere Direttiva INF Ini2Reg.

Commenti

La sezione DDInstall specificata deve essere referenziata in una voce specifica del dispositivo/modelli nella sezione Modelli per produttore del file INF.

Se un inF include un DDInstall. Sezione Coinstaller , deve essere presente una per ogni sezione DDInstall decorata e decorata dalla piattaforma. Ad esempio, se un INF contiene una sezione [install-section-name.ntx86] e una sezione [install-section-name] e registra co-installer specifici del dispositivo, l'INF deve includere entrambi un [install-section-name.ntx86. Sezione coinstallatori] e una sezione [install-section-name. Sezione Coinstallers] (Coinstaller). Per altre informazioni su come usare le estensioni .nt, .ntx86, .ntia64, .ntamd64, .ntarm e .ntarm64 definite dal sistema, vedere Creazione di file INF per più piattaforme e sistemi operativi.

Ogni direttiva in una DDInstall. La sezione CoInstallers può fare riferimento a più di un nome di sezione definito dal writer INF. Tuttavia, ogni sezione denominata aggiuntiva deve essere separata dalla successiva con una virgola (,).

Ogni nome di sezione creato dalla direttiva deve essere univoco all'interno del file INF e deve seguire le regole generali per definire i nomi di sezione. Per altre informazioni su queste regole, vedere Regole di sintassi generali per i file INF.

Un co-installer è una DLL Win32 che scrive in genere informazioni di configurazione aggiuntive nel Registro di sistema o esegue altre attività di installazione che richiedono informazioni specifiche del sistema generate dinamicamente che non sono disponibili quando viene creato un INF. Un co-programma di installazione specifico del dispositivo integra le operazioni di installazione del programma di installazione del dispositivo del sistema operativo o del programma di installazione della classe appropriato quando il dispositivo è installato.

Per altre informazioni su come scrivere e usare co-installer, vedere Scrittura di un co-programma di installazione.

Installazione di immagini di co-installazione

Tutti i file co-installer devono essere copiati nella directory %SystemRoot%\system32 . Analogamente a qualsiasi operazione DIF CopyFiles , la destinazione viene controllata in modo esplicito per una sezione file-list denominata nella sezione DestinationDirs del file INF dal valore dirid11 o specificando questo valore dirid per la voce DefaultDestDir .

Registrazione di Device-Specific co-installer

La registrazione di uno o più co-installer specifici del dispositivo richiede l'aggiunta di una voce di valore tipizzata REG_MULTI_SZ al Registro di sistema. Specificare una sezione del registro componenti aggiuntivi a cui fa riferimento la direttiva AddReg usando il modulo generale seguente:

[DDInstall.CoInstallers_DeviceAddReg]
 
HKR,,CoInstallers32,0x00010000,"DevSpecificCoInstall.dll
   [,DevSpecificEntryPoint]"[,"DevSpecific2CoInstall.dll
      [,DevSpecific2EntryPoint]"...] 

La voce HKR è elencata come una singola riga all'interno del file INF e ogni DLL co-installer specifica del dispositivo fornito deve avere un nome univoco. Dopo la registrazione dei co-installer elencati, il programma di installazione del dispositivo del sistema li chiama a ogni passaggio successivo del processo di installazione per tale dispositivo.

Se viene omesso devSpecificEntryPoint facoltativo, il nome di routine CoDeviceInstall predefinito viene usato come punto di ingresso della DLL co-installer.

Per altre informazioni, vedere Registrazione di un co-programma di installazione di Device-Specific.

Registrazione di Device-Class co-installer

Per aggiungere una voce di valore (e una sottochiave della classe di installazione, se non esiste già) per uno o più co-installer della classe di dispositivo nel Registro di sistema, una sezione del registro di sistema a cui fa riferimento la direttiva AddReg ha il modulo generale seguente:

[DDInstall.CoInstallers_ClassAddReg]
 
HKLM,System\CurrentControlSet\Control
    \CoDeviceInstallers,{SetupClassGUID},
       0x00010008,"DevClssCoInst.dll[,DevClssEntryPoint]" 
 ...

Ogni voce di tale sezione del Registro di sistema aggiuntivo è elencata come una singola riga all'interno del file INF e ogni DLL della classe specificata deve avere un nome univoco. Se i co-installer forniti devono essere usati per più di una classe di installazione del dispositivo, questa sezione del Registro di sistema può avere più di una voce, ognuna con il valore setupClassGUID appropriato.

Tale co-programma di installazione di classe di dispositivo supplementare non deve sostituire i co-installer già registrati per un programma di installazione di classe esistente. Pertanto, il co-installer di classe deve avere un nome univoco e il valore di tipo REG_MULTI_SZ fornito deve essere aggiunto (come indicato dall'8 nel valore dei flag0x0010008) alle voci di co-installer specifiche della classe, se presenti già nella sottochiave {SetupClassGUID}.

Nota

Le funzioni SetupAPI non aggiungono mai un duplicato DevClssCoInstall.dll a una voce di valore se un co-installer dello stesso nome è già registrato.

L'INF per un co-installer di classe di dispositivo supplementare può essere attivato da un'installazione con il pulsante destro del mouse o tramite una chiamata a SetupInstallFromInfSection effettuata da un'applicazione di installazione del dispositivo.

Esempio

Questo esempio mostra DDInstall. Sezione CoInstallers per schede di rete seriali IrDA. L'interfaccia di rete INF fornita dal sistema per queste schede di interfaccia di rete IrDA (seriale) fornisce un co-installer al programma di installazione della classe IrDA di sistema.

; DDInstall section
[PNP.NT]
AddReg=ISIR.reg, Generic.reg, Serial.reg
PromptForPort=0     ; This is handled by IRCLASS.DLL
LowerFilters=SERIAL ; This is handled by IRCLASS.DLL
BusType=14
Characteristics=0x4 ; NCF_PHYSICAL 

; ... PNP.NT.Services section omitted here
[PNP.NT.CoInstallers]
AddReg = ISIR.CoInstallers.reg 
; ...

[IRSIR.reg]
HKR, Ndi, HelpText, 0, %IRSIR.Help%
HKR, Ndi, Service, 0, "IRSIR"
HKR, Ndi\Interfaces, DefUpper, 0, "ndisirda"
HKR, Ndi\Interfaces, DefLower, 0, "nolower"
HKR, Ndi\Interfaces, UpperRange, 0, "ndisirda"
HKR, Ndi\Interfaces, LowerRange, 0, "nolower"

[Generic.reg]
HKR,,InfraredTransceiverType,0,"0"

[Serial.reg]
HKR,,SerialBased,0, "0"

[ISIR.CoInstallers.reg]
HKR,,CoInstallers32,0x00010000,"IRCLASS.dll,IrSIRClassCoInstaller"

; ... Services and Event Log registry sections omitted here
[Strings]
; ...
IRSIR.Help = "An IrDA serial infrared device is a built-in COM port or 
external transceiver which transmits infrared pulses. This NDIS 
miniport driver installs as a network adapter and binds to the FastIR 
protocol."

PNP precedente. NT. La sezione CoInstallers fa riferimento solo a una sezione del registro componenti aggiuntivi specifici del programma di installazione condivisa.

Non ha alcuna direttiva CopyFiles perché questo inF fornito dal sistema installa un set di dispositivi di rete IrDA. Come tutti i file INF di sistema, questo file INF usa la voce LayoutFile nella relativa sezione Version per trasferire il file co-installer nella destinazione.

Qualsiasi DDInstall. La sezione CoInstallers in un inF fornito da un IHV o OEM richiede una direttiva CopyFiles e anche le sezioni SourceDisksNames e SourceDisksFiles.

Vedi anche

AddReg

BitReg

CopyFiles

DDInstall

DelFiles

DelReg

DestinationDirs

Ini2Reg

RenFiles

SourceDisksFiles

SourceDisksNames

UpdateIniFields

Versione