Компоненты распространяемой платформы

Примечание

Если драйвер предназначен только для Windows 10, вам не нужно повторно распространять WDF или предоставлять Coinstaller в пакете драйверов. Для целевого Windows 10:

  1. В Visual Studio на странице свойств Параметры проекта в разделе Параметры драйвера ->Целевая версия ОС выберите Windows 10 или выше. Это эквивалентно добавлению следующего кода в VCXPROJ-файл:
<PropertyGroup Label="Configuration">
<TargetVersion>Windows10</TargetVersion>
  1. В разделе Производитель INF укажите 10.0 в качестве целевой версии ОС следующим образом:
[Manufacturer]
%MyMfg% = MyMfg, NTamd64.10.0

В этом разделе описываются обновления распространяемой платформы, предоставляемые корпорацией Майкрософт, которые входят в состав пакета драйверов Windows (WDK), а также способы определения того, какие из них следует добавить в пакет драйверов.

Обновления распространяемой платформы позволяют запустить драйвер, созданный с более поздней версией платформы, чем в операционной системе. Например, KMDF 1.11 включен в Windows 8. Но вы можете запустить драйвер KMDF 1.11 в Windows Vista или Windows 7. Однако перед этим необходимо убедиться, что библиотека платформы KMDF 1.11 заменяет библиотеку платформы, включенную в более раннюю операционную систему (в данном случае ЭТО KMDF 1.7 и KMDF 1.9 соответственно). Это можно сделать, распространяя предоставленный Корпорацией Майкрософт файл совместного установщика или MSU с пакетом драйверов.

Когда нужно включать в пакет драйверов совместный установщик или MSU?

Сначала определите, какие версии Windows будет поддерживать ваш драйвер. На основе этого определите , какую версию платформы использовать.

Если выбранная версия WDF является более новой, чем версия, поставляемая с целевой ОС, включите в пакет драйвера файл совместного установщика или MSU.

Например, вы хотите, чтобы драйвер выполнялся в Windows 7. Вы можете создать драйвер с помощью WDF 1.11 или WDF 1.9. Если вы выберете версию 1.9, которая предоставляется вместе с Windows 7, обновлять систему не нужно. С другой стороны, если вы выберете версию 1.11, вам потребуется включить пакет обновления WDF 1.11 в драйвер.

Следует ли включать совместный установщик или MSU-файл?

Если установка драйвера активируется путем подключения нового аппаратного устройства к системе и вы устанавливаете только драйвер, включите в пакет драйверов дополнительный установщик. Затем создайте ссылку на совместный установщик в INF-файле, как описано в разделе Указание совместного установщика KMDF в INF-файле.

Если требуется установить приложение в дополнение к драйверу, следует повторно распространить соответствующий пакет MSU (например, kmdf-1.11-Win.6.0.msu) вместе с приложением установки, которое вызывает его. В этом случае записи INF не требуются.

Вам никогда не потребуется как совместный установщик, так и MSU-файл.

Где можно найти эти файлы и что включено?

Совместные установщики находятся в %program files%\Windows Kits\<version>\redist\wdf.

Этот каталог содержит следующие файлы для x86 и x64:

  • WdfCoinstaller01007.dll, WdfCoinstaller01009.dll ,WdfCoinstaller01011.dll (совместное установщики для KMDF 1.7/1.9/1.11).
  • WUDFUpdate_01007.dll, WUDFUpdate_01009.dll ,WUDFUpdate_01011.dll (совместные установщики для UMDF).
  • winusbcoinstaller.dll ,winusbcoinstaller2.dll (совместное установщики для WinUSB 1.5/1.9).

Если требуется файл MSU, скачайте и установите пакет (в формате MSI) из распространяемых компонентов WDK 8. После установки MSU и совместные установщики можно найти в %program files%\Windows Kits\8.0\redist\wdf.

Именование и управление версиями совместного установщика

Совместный установщик называется WdfCoInstallerMMmmm.dll.

  • MM — основной номер версии.
  • mmm — дополнительный номер версии.

Например, имя файла для версии 1.0 совместного установщика — WdfCoInstaller01000.dll, а имя файла версии 1.11 — WdfCoInstaller01011.dll.

Версия совместного установщика, включенного в пакет драйверов, должна соответствовать версии библиотеки платформы, используемой для разработки драйвера.

Обратите внимание, что имя файла библиотеки платформы содержит только основной номер версии. Дополнительные сведения об именах файлов библиотек см. в разделе Управление версиями библиотеки платформы.