SystemIdentification.GetSystemIdForPublisher Method


Gets an identifier value for the system based on the app publisher ID.

 static SystemIdentificationInfo ^ GetSystemIdForPublisher();
 static SystemIdentificationInfo GetSystemIdForPublisher();
public static SystemIdentificationInfo GetSystemIdForPublisher();
function getSystemIdForPublisher()
Public Shared Function GetSystemIdForPublisher () As SystemIdentificationInfo



A SystemIdentificationInfo object for this system, based on the app publisher ID.


The identifier returned by this method is specific to the app publisher on the current device.

The ID has the following characteristics:

  • Unique for each system
  • On any particular system, all apps by the same publisher will get the same value for this ID (for all users). Conversely, apps by different publishers on the same system will obtain different IDs.
  • Can be created offline
  • Persists across restarts, reinstalls and upgrades of Windows, including clean installs (please see below for exceptions)
  • Persists across most hardware modifications
  • Available in OneCore

The method will first attempt to use the Trusted Platform Module (TPM), if present, to get an ID. If a TPM is not present, the method will try to get an ID from the Unified Extensible Firmware Interface (UEFI). If neither of these sources is available, this method will return an ID that is backed by the Windows registry. In the case of the Windows registry, the ID will not satisfy all the above guarantees. For example, if a system does not have a TPM or UEFI support, and thus an ID was obtained from the registry, a clean install of Windows will result in a new, different ID being returned. Callers of this method should refer to the Source property of the returned SystemIdentificationInfo to determine where the ID was obtained from in order to understand the guarantees provided.

Applies to