Registrieren eines Device-Specific Co-Installers

Hinweis

In diesem Abschnitt beschriebene Features werden in universellen oder mobilen Treiberpaketen nicht unterstützt. Weitere Informationen finden Sie unter Verwenden einer universellen INF-Datei.

Um ein gerätespezifisches Co-Installer zu registrieren, fügen Sie der INF-Datei des Geräts die folgenden Abschnitte hinzu:

;  :
;  :
[DestinationDirs]
XxxCopyFilesSection = 11                \\DIRID_SYSTEM
                                        \\ Xxx = driver or dev. prefix
;  :
;  :
[XxxInstall.OS-platform.CoInstallers]   \\ OS-platform is optional
CopyFiles = XxxCopyFilesSection
AddReg = Xxx.OS-platform.CoInstallers_AddReg
 
[XxxCopyFilesSection]
XxxCoInstall.dll
 
[Xxx.OS-platform.CoInstallers_AddReg]
HKR,,CoInstallers32,0x00010000,"XxxCoInstall.dll, \
 XxxCoInstallEntryPoint"

Der Eintrag im Abschnitt DestinationDirs gibt an, dass die im XxxCopyFilesSection aufgeführten Dateien in das Systemverzeichnis kopiert werden. Das Präfix Xxx sollte ein eindeutiger Bezeichner für den Treiber, das Gerät oder eine Gruppe von Geräten (z. B cdrom_CopyFilesSection. ) sein.

Der nächste Abschnitt im obigen Beispiel XxxInstall.OS-platform.CoInstallersist DDInstall. Abschnitt "CoInstallers ". Der Name dieses Abschnitts kann eine optionale Betriebssystem-/Architekturerweiterung aufweisen (z. B. cdrom_install.NTx86.CoInstallers). Sie enthält eine CopyFiles-Direktive , die einen file-list-section namens XxxCopyFilesSectionangibt, und eine AddReg-Direktive , die einen Add-Registry-Abschnitt namens Xxx.OS-platform.CoInstallers_AddRegangibt.

Der Eintrag im Abschnitt add-registry erstellt einen CoInstallers32-Werteintrag im Treiberschlüssel des Geräts. Der Eintrag enthält die CO-Installer-DLL und optional einen bestimmten Einstiegspunkt. Wenn Sie den Einstiegspunkt weglassen, ist der Standardwert CoDeviceInstall. Der Parameter hexadezimale Flags (0x00010000) gibt an, dass es sich um einen REG_MULTI_SZ Werteintrag handelt.

Um mehrere gerätespezifische Co-Installer für ein Gerät zu registrieren, kopieren Sie die Dateien für jeden Co-Installer, und fügen Sie mehrere Zeichenfolgen in den Registrierungseintrag ein. Um beispielsweise zwei Co-Installer zu registrieren, erstellen Sie INF-Abschnitte wie die folgenden:

;   :
;   :
[DestinationDirs]
XxxCopyFilesSection = 11                \\DIRID_SYSTEM
                                        \\ Xxx = driver or dev. prefix
;   :
;   :
[XxxInstall.OS-platform.CoInstallers]   \\ OS-platform is optional
CopyFiles = XxxCopyFilesSection
AddReg = Xxx.OS-platform.CoInstallers_AddReg
 
[XxxCopyFilesSection]
XxxCoInstall.dll                         \\ copy 1st coinst. file
YyyCoInstall.dll                         \\ copy 2nd coinst. file
 
[Xxx.OS-platform.CoInstallers_AddReg]
HKR,,CoInstallers32,0x00010000,                 \
    "XxxCoInstall.dll, XxxCoInstallEntryPoint", \
    "YyyCoInstall.dll, YyyCoInstallEntryPoint"
                                         \\ add both to registry

Gerätespezifische Co-Installer werden während der Installation eines Geräts registriert, wenn der Abschnitt Coinstallers INF verarbeitet wird. SetupAPI ruft dann die Co-Installer bei jedem nachfolgenden Schritt des Installationsvorgangs auf. Wenn mehrere Co-Installer für ein Gerät registriert sind, ruft SetupAPI sie in der Reihenfolge auf, in der sie in der Registrierung aufgeführt sind.