A Microsoft platform for building and publishing apps for Windows devices.
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.