Share via

Alternate to ASHWID

Raja Shanmugam 20 Reputation points
2026-02-05T07:22:16.48+00:00

Hi,

We are using ASHWID (Processor + Memory+ Disk) parameters in UWP. Recently the ASHWID parameters seems to fluctuate and not stable. Based on the below link

https://learn.microsoft.com/en-us/answers/questions/5559036/ashwid-(fluctuation)-issue-in-certain-windows-11-m

Which of the following alternatives are more stable to use? And what is recommended

  1.  SMBIOS System UUID Source: SMBIOS Type 1 table, retrieved via GetSystemFirmwareTable('RSMB').
  2.  TPM Endorsement Key Public Key (EKPub)
  3. NCRYPT_PCP_EKPUB_PROPERTY (queried with NCryptGetProperty) from MS_PLATFORM_CRYPTO_PROVIDER
  4. SystemIdentification.GetSystemIdForPublisher Method

Any help would be appreciated.

Developer technologies | Universal Windows Platform (UWP)
0 comments No comments
{count} votes

1 answer

Sort by: Most helpful
  1. Danny Nguyen (WICLOUD CORPORATION) 6,455 Reputation points Microsoft External Staff Moderator
    2026-02-06T08:52:08.6866667+00:00

    Hi,

    Thank you for posting in Microsoft Q&A,

    ASHWID isn’t a Windows-defined ID, it’s essentially a custom hardware fingerprint for licensing / activation / device re-identification. Those inputs (especially anything disk-related) are not guaranteed stable on Windows 11, so fluctuations are expected when drivers, firmware, storage configuration, or repair/update flows change what gets reported.

    If your real requirement is a stable identifier for UWP app/publisher to recognize a device, the most appropriate replacement is Windows.System.Profile.SystemIdentification.GetSystemIdForPublisher(). It’s the supported UWP API for a per-device identifier and avoids relying on CPU/RAM/Disk heuristics. You can also check SystemIdentificationInfo.Source (TPM/UEFI/Registry) to understand how durable it is on a given machine.

    SystemIdentification.GetSystemIdForPublisher Method

    SystemIdentificationInfo.Source Property

    If your requirement instead is a global hardware identity (cross-app / cross-publisher fingerprint), then GetSystemIdForPublisher is intentionally not equivalent. In that case:

    • TPM EKPub (NCRYPT_PCP_EKPUB_PROPERTY) is closest to a hardware-rooted identity (enterprise/attestation-oriented, policy/privacy considerations).
    • SMBIOS System UUID can be stable but depends on OEM firmware quality and has no cryptographic guarantees.

    I hope this helps.


Your answer

Answers can be marked as 'Accepted' by the question author and 'Recommended' by moderators, which helps users know the answer solved the author's problem.