Validating the OEM activation key in Windows 10 (build 1703) and later builds

Applies to: Windows 10, version 1909Windows 10, version 1903Windows 10, version 1809

Background


Starting at Windows 10 Creators Update (build 1703), Windows activation behavior has changed so that the unique OA3 Digital Product Key (DPK) is not always presented as the currently installed key in the device. Instead, the system behaves as follows:

  • Windows 10 (including all versions starting at Windows 10 Creators Update) is deployed to a device by having the appropriate default product key. You can run slmgr /dli or slmgr /dlv to show the partial default product key instead of the OA3 DPK as the current license in the firmware. The product ID that is displayed on the Settings > System > About page is not unique for the Windows 10 key that is being used.
  • A device that is running any Windows 10 OEM client edition, such as Windows Home or Windows Professional, and is activated by using the OA3 DPK in thefirmware is upgraded to a newer version of Windows (for example, build 1703 to build 1709). However, sometimes running slmgr /dli or slmgr /dlv does not show the OA3 DPK as the current license. Instead, these commands show the default product key.

The behavior that is described here is by design. The activation and user experience are not affected. However, OA validation in the factory may be affected as follows:

  • The output of the slmgr /dlv or slmgr /dli command is not necessarily the last five (5) digits of the injected DPK. Therefore, you can no longer rely upon these commands to return the expected results.

Validating the product ID against the product key ID of OA3 DPK


Recommendations

  • Every OEM has a different manufacturing process that they have adopted through years of experience in manufacturing Windows. Specifically, to validate the DPK against the installed Windows 10 edition, we recommend that you not rely on the output of slmgr /dlv or slmgr/dli but, instead, use the latest OA3Tool as follows:
     
    • OA3TOOL /Validate
      Runs a validation pass to make sure that the MSDM table exists, the MSDM table header includes all the required fields, and the MSDM table entries exist and comply with the correct formats. 
    • OA3TOOL /CheckEdition
      Does a cross-check between the injected DPK and the target Windows edition if they match.

FAQ