Avsnittet INF DDInstall
Varje avsnitt DDInstall innehåller ett valfritt DriverVer-direktiv och ett eller flera direktiv som refererar till ytterligare namngivna avsnitt i INF-filen, som visas här med de mest angivna INF-direktiven, CopyFiles och AddReg, som visas först.
Avsnitten som refereras i dessa direktiv innehåller instruktioner för att installera drivrutinsfiler och skriva enhetsspecifik och/eller drivrutinsspecifik information i registret.
[install-section-name] |
[install-section-name.nt] |
[install-section-name.ntx86] |
[install-section-name.ntia64] | (Windows XP and later versions of Windows)
[install-section-name.ntamd64] | (Windows XP and later versions of Windows)
[install-section-name.ntarm] | (Windows 8 and later versions of Windows)
[install-section-name.ntarm64] (Windows 10 version 1709 and later versions of Windows)
[DriverVer=mm/dd/yyyy[,x.y.v.z]]
[CopyFiles=@filename | file-list-section[,file-list-section] ...]
[CopyINF=filename1.inf[,filename2.inf]...] (Windows XP and later versions of Windows)
[AddReg=add-registry-section[,add-registry-section]...]
[AddProperty=add-property-section[,add-property-section]...] (Windows Vista and later versions of Windows)
[Include=filename1.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]...]
[DelProperty=del-property-section[,del-property-section]...] (Windows Vista and later versions of Windows)
[FeatureScore=featurescore]... (Windows Vista and later versions of Windows)
[BitReg=bit-registry-section[,bit-registry-section]...]
[LogConfig=log-config-section[,log-config-section]...]
[ProfileItems=profile-items-section[,profile-items-section]...] (Windows 2000 and later versions of Windows)
[UpdateInis=update-ini-section[,update-ini-section]...]
[UpdateIniFields=update-inifields-section[,update-inifields-section]...]
[Ini2Reg=ini-to-registry-section[,ini-to-registry-section]...]
[RegisterDlls=register-dll-section[,register-dll-section]...]
[UnregisterDlls=unregister-dll-section[,unregister-dll-section]...]
[ExcludeID=device-identification-string[,device-identification-string]...]... ((Windows XP and later versions of Windows)
[Reboot]
Poster
Alla giltiga poster stöds inte i en Universell INF-. Följande visar vilka direktiv som är giltiga i en universell INF och vilka som inte är det.
Stöds i en universell INF
DriverVer=mm/dd/åååå[,x.y.v.z]
Den här valfria posten anger versionsinformation för drivrutinspaketet.
Information om hur du anger den här posten finns i INF DriverVer Directive.
CopyFiles=@filnamn | file-list-section[,file-list-section] ...
Det här direktivet anger antingen en namngiven fil som ska kopieras från källmediet till målet eller refererar till ett eller flera INF-skrivardefinierade avsnitt där enhetsreleventfiler på källmediet anges för överföring till målet. Direktivet CopyFiles är valfritt, men finns i de flesta DDInstall avsnitt.
Posten DefaultDestDir i avsnittet DestinationDirs i INF anger målet för en enskild fil som ska kopieras. Avsnitten SourceDisksNames och SourceDisksFiles, eller ytterligare en INF som anges i LayoutFile posten för inf-version, anger platsen för distributionsmedia för drivrutinsfilerna.
Mer information finns i INF CopyFiles-direktivet.
CopyINF=filename1.inf[,filename2.inf]...
(Windows XP och senare) Det här direktivet gör att angivna INF-filer kopieras till målsystemet.
Mer information finns i INF CopyINF-direktiv.
AddReg=add-registry-section[,add-registry-section]...
Det här direktivet refererar till ett eller flera INF-skrivardefinierade avsnitt där nya undernycklar, eventuellt med inledande värdeposter, anges som skrivna i registret eller där värdeposterna för befintliga nycklar ändras.
En HKR- specifikation i ett sådant tilläggsregisteravsnitt anger "programvarunyckel" registersökväg för den enhet som installeras.
Mer information finns i INF AddReg-direktiv.
AddProperty=add-property-section[,add-property-section]...
(Windows Vista och senare) Refererar till ett eller flera INF-filavsnitt som ändrar enhetsegenskaper som har angetts för en enhetsinstans. Du bör använda ett INF AddProperty-direktiv endast för att ange en enhetsinstansegenskap som är ny för Windows Vista eller senare versioner av Windows-operativsystem.
För enhetsinstansegenskaper som introducerades tidigare i Windows Server 2003, Windows XP eller Windows 2000 och som har motsvarande registerinmatningsvärden bör du fortsätta att använda INF AddReg-direktiv för att ange egenskaperna för enhetsinstansen. Dessa riktlinjer gäller för systemdefinierade egenskaper och anpassade egenskaper. Mer information om hur du använder AddProperty-direktivet finns i Using the INF AddProperty Directive and the INF DelProperty Directive.
Include=filename1.inf[,filename2.inf]...
Den här valfria posten anger en eller flera ytterligare INF-filer som tillhandahålls av systemet och som innehåller avsnitt som behövs för att installera den här enheten och/eller drivrutinen. Om den här posten anges är det vanligtvis en Behöver post.
INF-filer för enhetsdrivrutiner som är beroende av systemets stöd för kernelströmning kan till exempel ange den här posten på följande sätt:
Include= ks.inf, kscaptur.inf, ksfilter.inf
Needs=inf-section-name[,inf-section-name]...
Den här valfria posten anger avsnitt i systemspecifika INF-filer som måste bearbetas under installationen av den här enheten. Vanligtvis är ett sådant namngivet avsnitt ett DDInstall- (eller DDInstall.xxx) i någon av INF-filerna som visas i en Inkludera post. Det kan dock vara ett avsnitt som refereras i en sådan DDInstall eller DDInstall.xxx delen av den inkluderade INF:en.
Till exempel kan INF-filer för enhetsdrivrutiner som har föregående Inkludera post ange den här posten på följande sätt:
Needs= KS.Registration, KSCAPTUR.Registration.NT, MSPCLOCK.Installation
FeatureScore=featurescore
Varning
Direktivet FeatureScore bearbetas endast när det anges direkt i avsnittet [DDInstall].
(Windows Vista och senare) Det här direktivet innehåller ytterligare ett rangordningsvillkor för drivrutiner som baseras på de funktioner som en drivrutin stöder. Funktionspoäng kan till exempel definieras för en enhetsinstallationsklass som skiljer mellan drivrutiner baserat på klassspecifika kriterier.
Mer information om hur drivrutiner rangordnas finns i Hur Windows rangordnar drivrutiner (Windows Vista och senare).
Mer information om det här direktivet finns i INF FeatureScore Directive.
Not
Även om ett DDInstall- avsnitt kan innehålla flera FeatureScore- poster bearbetas endast den första posten för avsnittet.
ExcludeID=device-identification-string[,device-identification-string]...
Varning
ExcludeID-direktivet bearbetas endast när det anges direkt i [DDInstall] avsnittet.
(Windows XP och senare) Det här direktivet anger en eller flera enhetsidentifieringssträngar (antingen maskinvaru-ID:n eller kompatibla ID:n). Avsnittet DDInstall installerar inte enheter som har enhets-ID:n som matchar något av de maskinvaru-ID:n eller kompatibla ID:n som anges.
Starta om
Det här direktivet anger att anroparen ska uppmanas att starta om systemet när installationen är klar.
Mer information finns i INF Reboot Directive.
Stöds inte i en universell INF
Delfiles=file-list-section[,file-list-section]...
Det här direktivet refererar till ett eller flera INF-skrivardefinierade avsnitt som visar filer på målet som ska tas bort.
Mer information finns i INF DelFiles-direktiv.
Renfiles=file-list-section[,file-list-section]...
Det här direktivet refererar till ett eller flera INF-skrivardefinierade avsnitt som visar filer som ska byta namn på målet innan enhetsreleverande källfiler kopieras till måldatorn.
Mer information finns i INF RenFiles-direktiv.
DelReg=del-registry-section[,del-registry-section]...
Det här direktivet refererar till ett eller flera INF-skrivardefinierade avsnitt där nycklar och/eller värdeposter anges som ska tas bort från registret under installationen av enheterna.
Vanligtvis används det här direktivet för att hantera uppgraderingar när en INF måste rensa gamla registerposter från en tidigare installation av den här enheten.
En HKR- specifikation i ett sådant avsnitt med borttagningsregister anger "programvarunyckel" registersökväg för den enhet som installeras.
Mer information finns i INF DelReg-direktiv.
DelProperty=del-property-section[,del-property-section]...
(Windows Vista och senare) Refererar till ett eller flera INF-filavsnitt som tar bort enhetsegenskaper som har angetts för en enhetsinstans. Du bör använda ett INF DelProperty-direktiv bara för att ta bort en enhetsinstansegenskap som är ny för Windows Vista eller senare versioner av Windows.
För enhetsinstansegenskaper som introducerades tidigare i Windows Server 2003, Windows XP eller Windows 2000 och som har motsvarande registerpostvärden bör du fortsätta att använda INF DelReg-direktiv för att ta bort egenskaperna för enhetsinstansen. Dessa riktlinjer gäller för systemdefinierade egenskaper och anpassade egenskaper. Mer information om hur du använder direktivet DelProperty finns i Using the INF AddProperty Directive and the INF DelProperty Directive.
BitReg=bit-registry-section[,bit-registry-section]...
Det här direktivet refererar till ett eller flera INF-skrivardefinierade avsnitt där befintliga registervärdeposter av typen REG_BINARY ändras.
En HKR- specifikation i ett sådant bitregisteravsnitt anger "programvarunyckel" registersökväg för den enhet som installeras.
Mer information finns i INF BitReg-direktiv.
LogConfig=log-config-section[,log-config-section]...
Det här direktivet refererar till ett eller flera INF-skrivardefinierade avsnitt i en INF för en rotuppräknad enhet eller för en manuellt installerad enhet. I dessa namngivna avsnitt anger INF för en sådan "identifierad" eller manuellt installerad enhet en eller flera logiska konfigurationer av bussrelativa maskinvaruresurser som enheten måste vara i drift. INF för en sådan manuellt installerad enhet som inte är programvarukonfigurerbar bör också ha en DDInstall-. FactDef- avsnitt.
Direktivet LogConfig används aldrig för att installera PnP-enheter (Plug and Play). Du kan dock använda avsnittet INF DDInstall.LogConfigOverride för att ange en åsidosättningskonfiguration för PnP-enheter.
Detta direktiv är irrelevant för alla drivrutiner och komponenter på högre nivå (nondevice).
Mer information finns i INF LogConfig Directive.
ProfileItems=profile-items-section[,profile-items-section]...
(Microsoft Windows 2000 och senare versioner av Windows) Det här sällan använda direktivet refererar till ett eller flera INF-skrivardefinierade avsnitt som beskriver objekt som ska läggas till eller tas bort från Start-menyn.
Mer information finns i INF ProfileItems-direktiv.
UpdateInis=update-ini-section[,update-ini-section]...
Det här sällan använda direktivet refererar till ett eller flera INF-skrivardefinierade avsnitt och anger en INI-källfil från vilken ett visst avsnitt eller en rad inom ett sådant avsnitt ska läsas in i en INI-målfil med samma namn under installationen. Du kan också ange ändringar rad för rad i en befintlig INI-fil på målet från en viss INI-källfil med samma namn i avsnittet update-ini.
Mer information finns i INF UpdateInis-direktiv.
UpdateIniFields=update-inifields-section[,update-inifields-section]...
Det här sällan använda direktivet refererar till ett eller flera INF-skrivardefinierade avsnitt där ändringar inom raderna i en enhetsspecifik INI-fil anges.
Mer information finns i INF UpdateIniFields-direktiv.
Ini2Reg=ini-to-registry-section[,ini-to-registry-section]...
Det här sällan använda direktivet refererar till ett eller flera INF-skrivardefinierade avsnitt där avsnitt eller rader från en enhetsspecifik INI-fil, som tillhandahålls på källmediet, ska flyttas till registret.
Mer information finns i INF Ini2Reg-direktiv.
RegisterDlls=register-dll-section[,register-dll-section]...
Det här direktivet refererar till ett eller flera INF-avsnitt som används för att ange filer som är OLE-kontroller och som kräver självregistrering.
Mer information finns i INF RegisterDlls Directive.
UnregisterDlls=unregister-dll-section[,unregister-dll-section]...
Det här direktivet refererar till ett eller flera INF-avsnitt som används för att ange filer som är OLE-kontroller och som kräver självavregistrering (självborttagning).
Mer information finns i INF UnregisterDlls Directive.
Anmärkningar
I dokumentationen för Windows Driver Kit (WDK) används termen DDInstall för att referera till ett install-section-name, med eller utan plattformstillägg. Därför betyder "DDInstall section" "ett namngivet avsnitt i en INF med formatet [install-section-name] eller [install-section-name.ntxxx]". När du skapar namn för DDInstall avsnitt bör du inkludera ett enhetsspecifikt prefix, till exempel [WDMPNPB003_Device] eller [GPR400. Install.NT].
Varje
Förutom enheter som inte har några associerade filer som ska överföras från källmediet måste en INF-fil som installerar en WDM-drivrutin på olika operativsystemplattformar ha minst en av följande DDInstall- avsnitt:
- Ett install-section-name.ntx86 avsnitt som anger posterna för enhets-/drivrutinsinstallationer som är specifika för x86-baserade plattformar.
- Ett install-section-name.ntia64 avsnitt som anger posterna för enhets-/drivrutinsinstallationer som är specifika för Itanium-baserade plattformar.
- Ett install-section-name.ntamd64 avsnitt som anger posterna för enhets-/drivrutinsinstallationer som är specifika för x64-baserade plattformar.
- Ett install-section-name.ntarm-avsnitt som anger posterna för enhets-/drivrutinsinstallationer som är specifika för Arm-baserade plattformar.
- Ett install-section-name.ntarm64 avsnitt som anger posterna för enhets-/drivrutinsinstallationer som är specifika för Arm64-baserade plattformar.
- Ett install-section-name eller install-section-name.nt avsnitt som anger posterna för enhets-/drivrutinsinstallationer som inte är specifika för en viss maskinvaruplattform.
Mer information om hur du använder den systemdefinierade .nt, .ntx86, .ntia64, .ntamd64, .ntarmoch .ntarm64 extensions, se Skapa INF-filer för flera plattformar och operativsystem.
Från och med Windows 2000 måste en INF-fil som installerar drivrutiner ha DDInstall.Services avsnitt för att ange information om drivrutinstjänsten.
Varje direktiv i ett DDInstall avsnitt kan referera till fler än ett avsnittsnamn. Varje ytterligare namngivet avsnitt måste dock avgränsas från nästa med kommatecken (,).
Varje avsnittsnamn måste vara unikt i INF-filen och måste följa de allmänna reglerna för att definiera avsnittsnamn. Mer information om dessa regler finns i Allmänna syntaxregler för INF-filer.
Alla AddReg-direktiv som anges i ett DDInstall--avsnitt antas referera till ett tilläggsregisteravsnitt som inte kan användas för att lagra information om drivrutiner med övre eller lägre filter, om multifunktionsenheter eller om drivrutinsoberoende men enhetsspecifika parametrar. Om en INF för enhet/drivrutin måste lagra den här typen av information i registret måste den använda ett AddReg-direktiv i sin odekorerade och dekorerade DDInstall. Om det finns några HW- avsnitt för att referera till en annan INF-skrivardefinierad add-registry-section.
Beroende på enhetsinstallationsklassen som angavs i avsnittet INF-versionkan ytterligare klassspecifika direktiv anges i ett DDInstall- avsnitt. Mer information om klassspecifika direktiv finns i följande avsnitt:
- Skapa en INF-fil för en Windows SideShow-Compatible-enhet
- DDInstall-avsnitt i en inf-nätverksfil
- INF-filer för enheter med stillbilder
- INF-filer för WIA-enheter
- installationskrav för nätverkskomponenter
- Ange WDF-direktiv i INF-filer
Exempel
Det här exemplet visar expansionen av avsnitten DDInstall, Ser_Inst och Inp_Inst. De här avsnitten refereras i exemplet för avsnittet INF Models.
[Ser_Inst]
CopyFiles=Ser_CopyFiles, mouclass_CopyFiles
[Ser_CopyFiles]
sermouse.sys
[mouclass_CopyFiles] ; section name referenced by > 1 CopyFiles
mouclass.sys
[Inp_Inst]
CopyFiles=Inp_CopyFiles, mouclass_CopyFiles
[Inp_CopyFiles]
inport.sys
I följande exempel visas avsnittet DDInstall i en INF-fil som installerar en WDM-drivrutin som tillhandahålls av systemet för en ljudenhet på olika operativsystemplattformar:
[WDMPNPB003_Device.NT]
Include=ks.inf, wdmaudio.inf
Needs=KS.Registration, WDMAUDIO.Registration.NT
CopyFiles=MSSB16.CopyList
AddReg=WDM_SB16.AddReg
I följande exempel visas de avsnitt som refereras av den föregående posten Behöver i ks.inf- och wdmaudio.inf filer. I föregående exempel anges dessa filer i posten Inkluderar. När operativsystemets enhetsinstallation bearbetar enhetens install-section-name.nt avsnitt bearbetas även följande två avsnitt.
[KS.Registration]
; following AddReg= is actually a single line in the ks.inf file
AddReg=ProxyRegistration,CategoryRegistration,\
TopologyNodeRegistration,PlugInRegistration,PinNameRegistration,\
DeviceRegistration
CopyFiles=KSProxy.Files,KSDriver.Files
[WDMAUDIO.Registration.NT]
AddReg=WDM.AddReg
CopyFiles=WDM.CopyFiles.Sys, WDM.CopyFiles.Drv
;
; INF-writer-defined add-registry and file-list sections
; referenced by preceding directives are omitted here for brevity
;