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


Работа с INF-файлами расширения в Центре партнеров

Вы можете создавать метки доставки для файлов INF расширения в Windows Центр разработки оборудования, что позволяет предоставлять общий доступ к ним и публиковать их, как и другие отправки. В этой статье описывается процесс упаковки, отправки и публикации этих пакетов. Дополнительные сведения о создании и установке infs расширения см. в разделе "Использование INF-файла расширения".

Требования к infs расширения публикации для Обновл. Windows

Для публикации расширений INFS в центре обновления Windows необходимо выбрать флажки автоматического продвижения драйверов на этикетке доставки. Не удается опубликовать расширение расширения INFS как необязательное, так как они не перечислены в диспетчер устройств, чтобы конечный пользователь инициировал действие Update Driver. Чтобы просмотреть эти флажки, необходимо сначала зарегистрироваться для полетов водителя.

Примечание.

Чтобы Обновл. Windows предложить infs расширения, все системы должны работать по крайней мере rs3 января 2018 г. KB4056892 (10.0.16299.192).

Отправка и публикация расширений INFs

В этом разделе описывается отправка и публикация пакета INF. Ознакомьтесь с выделенными элементами и часто задаваемыми вопросами о распространенных ошибках и часто задаваемых вопросов.

Внимание

Корпорация Майкрософт рекомендует всегда создавать отдельную отправку для каждого расширения INFS и отдельную отправку, содержащую только базовую отправку драйвера. Публикация базовых драйверов и расширений INFS в одной отправке приведет к следующим проблемам:

  • Все метки доставки будут классифицироваться и оцениваться как "Драйверы расширений" в Центре партнеров. Чтобы найти элементы, которые являются расширениями, введите @IsExtensionDriver:"True" в поле поиска Центр разработки.
  • После публикации в Обновл. Windows пользователи могут быть вынуждены скачивать пакеты драйверов несколько раз: после установки базового драйвера и снова для каждого применимого расширения, которое обнаруживает PnP.

Создание пакета отправки

Базовый пакет драйвера

  1. Запустите тест комплекта аппаратных лабораторий (HLK) с базовым драйвером и расширением INFS как обычно. Результаты HLK используются для всех шагов создания пакета.

    Изображение, показывающее выходные данные файлов тестовым запуском HLK.

  2. Удалите элементы шаблона INF расширения из папки "Драйверы" и добавьте в пакет HLK только базовые файлы драйверов.

    Изображение, показывающее базовые файлы драйверов.

  3. Создайте и подпишите этот пакет HLKx, чтобы сделать базовый пакет драйвера.

    Примечание.

    Пакеты базовых драйверов всегда должны быть обратно совместимыми с существующими расширениями.

Пакет INF расширения

  1. Используя те же результаты HLK из тестового запуска базового пакета драйвера HLK, выберите ">Заменить пакет драйвером"

    Изображение, показывающее параметр

  2. Добавьте расширение INF в папку драйвера с любыми двоичными файлами, на которые ссылается ссылка. Если у вас несколько расширений INFs, добавьте только один файл.

  3. Создайте и подпишите новый пакет HLK. Этот пакет является пакетом INF расширения.

  4. Повторите этот процесс для каждого расширения INFs, удаляя содержимое папки драйвера каждый раз.

Отправка пакетов в Центр партнеров

Создайте новую отправку для каждого созданного пакета и отправьте их в Центр разработки оборудования. Затем создайте метку доставки для тех, которые вы хотите предоставить общий доступ или опубликовать. Дополнительные сведения см. в статье "Создание новой аппаратной отправки и управление распределением драйверов с помощью меток доставки".

ExtensionID

ExtensionID — это guid, который создается для идентификации и управления версиями драйверов. Он описывает часть оборудования или ряд частей устройства и автоматически регистрируется в SellerID, который отправил его. Владелец этого SellerID отвечает за отслеживание использования и сопоставления ExtensionID, аналогично управлению CHID.

Например, при создании Идентификатора расширения для новой системной части:

  • Владение ExtensionID назначается вашему SellerID.
  • Каждый системный проект из вашей организации, использующий ряд частей или частей, использует один и тот же ExtensionID.
  • ExtensionID остается неизменным для жизни части.

Примечание.

  • Если вы используете ExtensionID, не связанное с SellerID, Центр партнеров отклонит отправку и сообщит вам, что ExtensionID уже принадлежит другой организации:
  • Для данного устройства устанавливается только одно расширение INF для каждого уникального значения ExtensionID. Таким образом, если у устройства несколько infs расширения, вам потребуется новый идентификатор extensionID для каждого из них. Это также означает, что два расширения INFs предназначены для одного устройства с разными идентификаторами extensionID, оба расширения будут применены. Дополнительные сведения см. в разделе "Использование INF-файла расширения".

Если ваша организация управляет проектами и отправками для другой организации, обратите внимание на следующее:

  • Владение ExtensionID назначается продавцу, который завершает отправку.
  • Использование SellerID другой организации позволяет использовать идентификатор extensionID.
  • Чтобы использовать SellerID вашей организации, необходимо создать собственный идентификатор ExtensionID для ряда частей или частей.

Создайте новый идентификатор extension для начальной версии INF расширения (т. е. при первом настройке и отправке расширения INF), в том числе при первом получении новой общей метки доставки для нового устройства. Visual Studio включает в себя программу создания GUID в средствах > создания GUID, хотя любое средство создания GUID в Сети должно работать, если он соответствует следующему формату реестра.

Изображение, на котором показан экран создания GUID в Visual Studio.

Если вы обновляете расширение INF, которое уже опубликовано, сохраните идентификатор ExtensionID одинаково и добавите версию и /или дату, указанную директивой DriverVer. Дата драйвера и версия драйвера используются (в этом порядке), чтобы различать несколько расширений INFs с одинаковым extensionID.

Публикация расширения INF

Чтобы опубликовать отправку расширения INF, выполните действия, описанные в статье "Публикация драйвера в Обновл. Windows". Убедитесь, что проверяются оба варианта автоматического продвижения драйверов, а также наличие конкретных целевых целевых параметров расширения.

Изображение, показывающее автоматическое повышение уровня драйверов.

Если вы не видите эти варианты повышения уровня драйверов, может потребоваться зарегистрироваться для полетов водителя.

Все infs расширения проходят процесс полета водителя, который будет распространяться через Обновл. Windows. После успешного полета файлы будут доступны для розничных систем. Присоединение к программе предварительной оценки Windows обеспечивает более быстрый доступ к драйверам на этом этапе.

Различия в целевом и ранжировании расширения INF

Так как расширения являются настройками для определенных устройств, они всегда должны быть целевыми. Следуйте этим рекомендациям при работе с расширением INF для целевого объекта:

  • Если это возможно, файлы INF расширения должны иметь четыре части аппаратных идентификаторов (HWID).
  • CHID можно добавить в метку доставки расширения INF, помимо четырех частей HWID.
  • Целевые объекты CHID требуются на этикетке доставки для частей и рядов частей, которые не имеют четырехкомпонентного HWID.

Эта целевая информация крайне важна для точной оценки расширения INF во время распространения через Обновл. Windows (WU). Существует два этапа, в которых WU оценивает драйверы:

  1. Этап применимости, когда WU создает список драйверов, применяемых к данной системе.
  2. Этап ранжирования, в котором Windows PnP и WU определяют, какой драйвер из списка необходимо установить.

Как правило, существует несколько ключевых принципов ранжирования и целевого назначения для расширений INFs:

  • Идентификатор расширения INF не используется для применимости — только для идентификации происхождения и управления версиями.

  • Wu предлагает (и устанавливает PnP) самый высокий уровень драйвера расширения для каждого применимого идентификатора расширения.

  • Драйверы расширений ранжируются по дате и версии, которая входит в директиву DriverVer. Это используется как ВУ, так и PnP. Дополнительные сведения см. в директиве INF Version Section и INF DriverVer.

  • PnP и WU не учитывают оценку компонентов или идентификаторов (т. е. две части и четыре части) в отношении драйверов расширений.

  • Сведения CHID не используются при ранжировании драйверов расширений в WU (т. е. нельзя блокировать другие драйверы расширений с целевым назначением CHID).

  • Сведения о выборе драйвера и целевом использовании в операционной системе Windows см. в разделе "Использование INF-файла расширения"

Вопросы и ответы

Разработка драйверов

Нужно ли изменять Идентификатор расширения при каждом обновлении базового драйвера?

Нет, при внесении обновлений в базовый драйвер следует сохранить тот же идентификатор расширения. ExtensionID используется для сравнения версий и идентификации происхождения драйверов. Он не должен меняться в пределах происхождения драйвера.

Производство

Можно ли использовать расширение IHV, предоставленное INF, с их ExtensionID для производственных целей?

№ Если вы планируете принадлежать аспекту обслуживания расширения, необходимо использовать собственный INF и ExtensionID во время производства.

Обновления драйверов

Нужно ли публиковать обновленное расширение INF для Обновл. Windows каждый раз при обновлении и публикации базового пакета драйвера?

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

Что происходит при публикации обновленного базового драйвера и применении к системе конечного пользователя?

При применении базового обновления драйвера при необходимости вычисляется и применяется установленный в данный момент расширение INF. Если не установлено расширение INFs, Обновл. Windows скачивает последнюю соответствующую версию.

Нужно ли публиковать обновленное расширение INF или ExtensionID при обновлении операционной системы до последней версии?

Нет, существующий идентификатор расширения и INF расширения продолжает работать.

Могут ли две системы совместно использовать одно и то же расширение INF, если их настройки одинаковы?

Да. Если в нескольких системах используются одни и те же параметры или вы хотите настроить параметры в более широком наборе устройств, достаточно одного расширения INF. Добавьте применимые четыре части аппаратных идентификаторов в расширение INF. Дополнительные сведения см. в разделе "Использование INF-файла расширения".

Центр разработки оборудования

Драйверы Windows