註冊類別共同安裝程式
注意
通用或行動驅動程式套件不支援本節所述的功能。 請參閱 使用通用 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 區段中的專案會指定兩個旗標:「00010000」 旗標指定專案為REG_MULTI_SZ,而 「00000008」 旗標會指定新值要附加至任何現有的值, (如果字串) 中還沒有任何新值。
以滑鼠右鍵按一下安裝或透過呼叫 SetupInstallFromInfSection的應用程式,即可啟動註冊類別共同安裝程式的 INF。