クラスの共同インストーラーの登録
Note
このセクションで説明する機能は、ユニバーサル ドライバー パッケージまたはモバイル ドライバー パッケージではサポートされていません。 ユニバーサル INF ファイルの使用
特定のセットアップ クラスのすべてのデバイスの共同インストーラーを登録するには、HKLM\System\CurrentControlSet\Control\CoDeviceInstallers サブキーの下に次のようなレジストリ エントリを作成します。
{setup-class-GUID}: REG_MULTI_SZ : "XyzCoInstall.dll,XyzCoInstallEntryPoint\0\0"
CoDeviceInstallers キーが作成されます。 Setup-class-GUID は、デバイス セットアップ クラスの GUID を 指定します。 共同インストーラーが複数のデバイス クラスに適用される場合は、セットアップ クラスごとに個別の値エントリを作成します。
setup-class-GUID キーに以前に書き込まれた他の共同インストーラーは上書きしないでください。 キーを読み取り、共同インストーラー文字列をREG_MULTI_SZ一覧に追加し、キーをレジストリに書き戻します。
CoInstallEntryPoint を省略した場合、既定値は CoDeviceInstall です。
共同インストーラー DLL もシステム ディレクトリにコピーする必要があります。
ファイルがコピーされ、レジストリ エントリが作成されると、関連するデバイスとサービスに対してクラス共同インストーラーを呼び出すことが可能になります。
レジストリ エントリを手動で作成してクラス共同インストーラーを登録するのではなく、次の例のような INF ファイルを使用して登録できます。
[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 ()
このサンプル INF は、ファイル classXcoinst.dllをシステム ディレクトリにコピーし、CoDeviceInstallers キーの下に setup-class-GUID クラスのエントリを作成します。 Xxx_AddReg セクションのエントリは、2 つのフラグを指定します。"00010000" フラグはエントリがREG_MULTI_SZであることを指定し、"00000008" フラグは、新しい値が既存の値に追加されることを指定します (新しい値がまだ文字列に存在しない場合)。
クラス共同インストーラーを登録する INF は、右クリック インストールまたは SetupInstallFromInfSection を呼び出すアプリケーションを使用してアクティブ化できます。