UMDF 공동 설치 관리자 사용

참고

드라이버가 Windows 10 대상으로만 지정하는 경우 WDF를 재배포하거나 드라이버 패키지에 Coinstaller를 제공할 필요가 없습니다. Windows 10 대상으로 지정하려면 다음을 수행합니다.

  1. Visual Studio의 프로젝트 설정 속성 페이지의 드라이버 설정 ->대상 OS 버전에서 Windows 10 이상을 선택합니다. 이는 .vcxproj 파일에 다음을 추가하는 것과 같습니다.
<PropertyGroup Label="Configuration">
<TargetVersion>Windows10</TargetVersion>
  1. INF Manufacturer 섹션에서 다음과 같이 10.0을 대상 OS 버전으로 지정합니다.
[Manufacturer]
%MyMfg% = MyMfg, NTamd64.10.0

아래와 같이 시스템 제공 코인스탈러를 참조해야 할 수도 있습니다.

[Echo_Install.NT.CoInstallers] 
AddReg=CoInstallers_AddReg

[CoInstaller.AddReg]
HKR,,CoInstallers32,0x00010000,WudfCoinstaller.dll

공동 설치 관리자는 컴퓨터에 저장된 프레임워크 버전을 업데이트하고 프레임워크별 INF 파일 섹션을 처리합니다. 이 항목에서는 두 UMDF 공동 설치 관리자와 드라이버 설치 패키지 에 UMDF 공동 설치 관리자를 포함하거나 INF 파일에 공동 설치 관리자를 참조해야 하는 경우에 대해 설명합니다.

공동 설치 관리자 패키지 가져오기

Windows 8.1 Microsoft에서 제공하는 재배포 가능 프레임워크 업데이트는 WDK(Windows 드라이버 키트)의 일부로 포함됩니다.

공동 설치 관리자 디렉터리의 전체 콘텐츠 목록은 KMDF 드라이버용 설치 구성 요소를 참조하세요.

다른 구성 요소 중에서 공동 설치 관리자 디렉터리에는 WUDFUpdate_MMmmm.dll 라는 업데이트 공동 설치 관리자가 포함되어 있습니다. 여기서 MM은 주 버전 번호이고 mmm은 부 버전 번호입니다.

업데이트 공동 설치 관리자는 컴퓨터에 있는 UMDF 프레임워크 버전을 업데이트합니다. 예를 들어 컴퓨터에 UMDF 버전 1.9가 있고 공동 설치 관리자에 버전 1.11이 포함된 경우 공동 설치 관리자는 컴퓨터의 프레임워크 버전을 1.11로 업데이트합니다.

운영 체제에는 구성 공동 설치 관리자 또는 WudfCoinstaller.dll 라는 다른 공동 설치 관리자가 포함되어 있습니다. 구성 공동 설치 관리자는 드라이버의 INF 파일의 UMDF 관련 섹션을 처리하고 레지스트리에 필요한 업데이트를 합니다.

INF 파일에서 공동 설치 관리자 참조

Windows 8.1 대한 UMDF 2.0 드라이버를 작성하는 경우 INF 파일은 구성 공동 설치 관리자를 참조해야 합니다. 구성 공동 설치 관리자가 운영 체제에 포함되어 있으므로 재배포할 필요가 없습니다.

Windows 8.1 전에 운영 체제를 대상으로 하는 UMDF 1.11 드라이버를 작성하는 경우 드라이버를 사용하는 컴퓨터에 프레임워크 버전 1.11이 설치되어 있는지 확인해야 합니다. 이 작업을 수행하는 세 가지 방법은 다음과 같습니다.

  • INF 파일에서 업데이트 공동 설치 관리자를 참조하고 드라이버 설치 패키지에 업데이트 공동 설치 관리자를 포함합니다. 운영 체제에서 드라이버를 설치하면 공동 설치 관리자가 실행됩니다. 드라이버가 Windows 업데이트 통해 배포되는 경우 이 옵션을 선택해야 합니다.

  • 관련 MSU 패키지(예: umdf-1.11-Win-6.0.msu)를 호출하는 설치 애플리케이션과 함께 재배포합니다. WDK 설치의 src\general\wdkinstall 하위 디렉터리에서 이러한 애플리케이션의 샘플을 찾을 수 있습니다. 디바이스와 함께 제공되는 설치 프로그램을 작성 중이고 디바이스를 사용하려면 먼저 실행해야 하는 경우 이 옵션을 선택할 수 있습니다. 이 옵션을 선택하는 경우 INF 파일은 구성 공동 설치 관리자를 참조해야 합니다.

  • 드라이버를 사용하는 컴퓨터에 필요한 프레임워크 버전을 설치하려면 Windows 업데이트 사용합니다. 프레임워크 버전 1.11부터 새 버전의 UMDF는 Windows 업데이트 통해 배포됩니다. 이 옵션을 선택하는 경우 INF 파일은 구성 공동 설치 관리자를 참조해야 합니다.

INF 파일에서 항상 업데이트 공동 설치 관리자 또는 구성 공동 설치 관리자를 참조해야 합니다. 그러나 INF에서 두 공동 설치 관리자를 모두 참조하면 설치 오류가 발생합니다.

공동 설치 관리자에 대한 INF 파일 섹션

드라이버의 INF 파일에 는 INF DDInstall.CoInstallers 섹션이 포함되어야 합니다. 업데이트 공동 설치 관리자를 재배포하는 경우 다음 예제와 같이 DDInstall.CoInstallers 섹션에는 INF AddReg 지시문INF CopyFiles 지시문이 모두 포함되어야 합니다.

[MyDriver_Install.CoInstallers]
AddReg = MyDriver_Install.CoInstallers_AddReg
CopyFiles = MyDriver_CoInstallers_CopyFiles

INF AddReg 지시문은 CoInstallers32 레지스트리 항목을 만드는 INF 섹션을 식별합니다.

[MyDriver_Install.CoInstallers_AddReg]
HKR,,CoInstallers32,0x00010000,"WudfUpdate_01011.dll"

INF CopyFiles 지시문은 설치 디바이스에서 시스템 디바이스로 공동 설치 관리자를 복사하는 INF 섹션을 식별합니다.

[MyDriver_CoInstallers_CopyFiles]
WudfUpdate_01011.dll

MSU 패키지를 재배포하는 경우 DDInstall.CoInstallers 섹션에서 구성 공동 설치 관리자를 참조하는 AddReg 지시문을 지정해야 합니다.

[Echo_Install.NT.CoInstallers]
AddReg=CoInstallers_AddReg
[CoInstaller.AddReg]
HKR,,CoInstallers32,0x00010000,WudfCoinstaller.dll

드라이버의 INF 파일에는 항상 공동 설치 관리자가 설치한 후 읽는 DDInstall.Wdf 섹션이 포함되어야 합니다. 드라이버가 DDInstall.Wdf에서 지정할 수 있는 지시문에 대한 자세한 내용은 INF 파일에서 WDF 지시문 지정을 참조하세요.

INX 파일 및 Stampinf 도구를 사용하여 여러 버전의 프레임워크에 대해 여러 INF 파일을 만들지 않도록 방지할 수 있습니다. INX 파일에 대한 자세한 내용은 INX 파일을 사용하여 INF 파일 만들기를 참조하세요.