【发布时间】:2021-08-27 21:32:01
【问题描述】:
我们有一个 uwp windows 10 商店应用程序及其每台设备的许可。当该许可证已应用于任何设备时,我们会抛出错误。用户可以卸载该应用程序并在同一设备上重新安装,并且相同的许可证密钥可以正常工作。
但是每隔几天我注意到由以下生成的 HWID(hardwareId) 不是唯一的,当用户卸载应用程序并安装在同一设备上时,许可证密钥失败。
private static string GetId()
{
var token = HardwareIdentification.GetPackageSpecificToken(null);
var hardwareId = token.Id;
var dataReader = DataReader.FromBuffer(hardwareId);
var bytes = new byte[hardwareId.Length];
dataReader.ReadBytes(bytes);
return BitConverter.ToString(bytes).Replace("-", string.Empty);
}
根据我的分析,我认为当客户的计算机重新启动时,我们的客户的 hwid 发生了变化。尽管就硬件本身而言,没有任何改变。所以设备名称、设备型号、操作系统对于这些用户来说都是一样的,只有 HWID 发生了变化。
有没有更好的方法来处理每个设备的一个许可证或唯一地生成这个 hwid?它是否对操作系统内部版本号更改或任何其他软件或固件更新敏感?
【问题讨论】:
标签: c# .net xaml uwp windows-10-universal