Поделиться через


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

Примечание.

Если драйвер предназначен только для Windows 10 или более поздней версии, вам не нужно распространять WDF или предоставлять Монетталлер в пакете драйвера. Необходимые действия:

  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-файл.

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

Эти файлы больше не включены в WDK. Вместо этого они доступны как отдельная загрузка из Центра загрузки Майкрософт. Страница загрузки — это распространяемые компоненты пакета драйверов Windows 8.

После установки MSU и соустановки можно найти в разделе %program files%\Windows Kits\8.0\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).

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

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

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

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

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

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