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.CoInstallers
ist 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 XxxCopyFilesSection
angibt, und eine AddReg-Direktive , die einen Add-Registry-Abschnitt namens Xxx.OS-platform.CoInstallers_AddReg
angibt.
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.