Windows 10 Driver Publishing Workflow



Yüklə 159,22 Kb.
səhifə5/8
tarix08.10.2017
ölçüsü159,22 Kb.
#3899
1   2   3   4   5   6   7   8

Types of Targeting


To achieve targeting drivers to specific systems, Microsoft recognizes two driver targeting scenarios (as described in List ).

List : Types of Driver Targeting



  1. Installation Targeting

  • On a device running Windows, the Plug and Play (PnP) system ranks all drivers on a device such that the most appropriate driver is installed on a particular piece of hardware. This ranking considers device hardware IDs (HWID), driver version, and date, among other things. Once the ranking occurs, PnP will choose the most appropriate driver for a device and install it.

  • This targeting only considers the drivers that are already on the device (regardless of how it was distributed: using Windows Update, an OEM/IHV updater application, manually installed by a user, and so on).

  1. Distribution Targeting

  • In order for installation targeting to be successful, the right driver must be distributed from Windows Update to the right system. Distributing a driver for hardware not present on a system does not help light up the hardware.

  • To ensure that the right drivers are distributed to the right systems, the Windows Update server implements the same ranking algorithm described in Installation Targeting. Additionally, Windows Update adds logic to determine whether there are specific drivers that need to be distributed to specific systems. In some cases a hardware partner produces different OEM flavors of the same driver. The Windows Update server identifies the client system and determines if there is a specific one-off version of a driver that must be distributed.


      1. Installation Targeting


As mentioned above, PnP ranks drivers such that the most appropriate driver is installed on a particular piece of hardware. This ranking takes into account following information:

  • The Feature Score specified in the INF

  • The ordered list of HWIDs from the device and from the driver INF

  • The driver version and date defined in the DriverVerDate field in the INF

The PnP driver ranking algorithm is defined in the How Windows Ranks Drivers article on MSDN:


https://msdn.microsoft.com/en-us/library/windows/hardware/ff546225(v=vs.85).aspx

Sometimes the HWID in not unique enough to specify the driver that must be used on a specific system. Furthermore, some drivers may cause catastrophic issues when loaded on a system with a differing hardware configuration, despite having the same HWID. These catastrophic issues could include rendering black screens, causing hardware failures, or similar (sometimes unrecoverable) issues.

To ensure that a driver will not install on a system which it does not support, Windows has added the ability to declare installation constraints to a particular set of systems in driver packages in Windows 10. Similar to other installation declarations, this feature is enabled by an INF section.

        1. How to add Installation Targeting in INF


Hardware partners will be able to include compatible CHIDs in their INF for which the driver package can be installed. Since this declaration is an INF section, there is at most one constraint section per INF and the constraint applies to the entire INF.

INF syntax for [TargetComputers] section:

[TargetComputers]

{}

{}



Note, each CHID must be a proper GUID, wrapped by curly braces (‘{‘ and ‘}’), on a new line.

For an example of when it is appropriate to use this constraint: An OEM may have a problem with a sensor due to the physical design of a notebook’s case. To remedy this, the sensor’s IHV may produce a one-off modified driver to accommodate the unique case design. In this scenario that driver may only work properly on the OEM system in question. Therefore the driver may identify the specific OEM model by listing an appropriate CHID in the INF’s [TargetComputers] section. This will ensure that the driver only installs on the machine for which the driver was intended.

Note that the use of the INF [TargetComputers] section should be used sparingly. Since it requires marking up the INF file, there is a burden of managing the resigning of the driver after such changes. It is much easier to leverage distribution targeting to ensure drivers are properly distributed to the right systems. [TargetComputers] should only be used when installation of a driver on a given system for which it is not intended would yield catastrophic results (such as system firmware update driver packages).


        1. PnP installation


If a driver’s INF file includes a [TargetComputers] section which contains one or more CHIDs, then the driver will be allowed to install only on a system which has a CHID listed in the section. Of course, the standard PnP applicability logic still applies (matching HWID, CompatID, and so on).

For any system that does not have a matching CHID, the driver will not install.


    1. CHIDs: Installation Targeting vs. Distribution Targeting


With the introduction of CHIDs in Installation Targeting and Distribution Targeting, it can be challenging but critical to understand when to use which method of targeting.

The purpose of Installation Targeting with CHIDs is to ensure a driver does not cause issues when paired with incorrect hardware. Therefore, it should only be used when a driver will cause issues on the wrong system or hardware layout.

The purpose of CHIDs in a Distribution Targeting list is to constrain distribution of a driver to a specific set of systems through Windows Update. This allows partners to fulfill business requirements, like slow roll out due to testing timelines and targeted system-specific driver fixes. This also allows partners the flexibility to control the drivers available for their systems through Windows Update.

The following table serves as a good guide for deciding when to use Installation Targeting with CHIDs or CHIDs in the Distribution Targeting list.



Scenario

Installation Targeting in INF

Distribution Targeting list

Driver will bug check, be non-performant, cause device failures, or otherwise cause catastrophic issues, if run on other systems.





Driver is meant for use on all systems which contain the device, though it is being slowly tested per system.





Driver fix needs to roll out to a select group of systems for the time being. This group may grow as other systems experience the same issue.





System manufacturer wants to select which drivers go to their system. System manufacturer does not want generic drivers to go to their system despite HWID match.







    1. Yüklə 159,22 Kb.

      Dostları ilə paylaş:
1   2   3   4   5   6   7   8




Verilənlər bazası müəlliflik hüququ ilə müdafiə olunur ©www.genderi.org 2024
rəhbərliyinə müraciət

    Ana səhifə