Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Windows 8 CoreApplication.Id vs.ASHWID vs.Package.Current.Id_Windows 8_Windows Runtime - Fatal编程技术网

Windows 8 CoreApplication.Id vs.ASHWID vs.Package.Current.Id

Windows 8 CoreApplication.Id vs.ASHWID vs.Package.Current.Id,windows-8,windows-runtime,Windows 8,Windows Runtime,有人能告诉我这三个ID的区别吗 我想确定我的win8应用程序的特定安装(每个购买/设备,不包括次要更新),其中哪一个最适合我的需要?您可能需要其中两个: 特定于应用程序的硬件ID(ASHWID)包含有关设备的信息(它不一定与购买匹配,因为后者已附加到用户帐户)。此外,您可能需要解释硬件漂移 标识您的应用程序,包括其完整版本,因此您需要忽略允许通过较小更新进行更改的部分 编辑: 我认为CoreApplication.Id对您没有任何用处。只有在一个包中才能区分单个包中的多个应用程序。我不认为您

有人能告诉我这三个ID的区别吗


我想确定我的win8应用程序的特定安装(每个购买/设备,不包括次要更新),其中哪一个最适合我的需要?

您可能需要其中两个:

  • 特定于应用程序的硬件ID(ASHWID)包含有关设备的信息(它不一定与购买匹配,因为后者已附加到用户帐户)。此外,您可能需要解释硬件漂移
  • 标识您的应用程序,包括其完整版本,因此您需要忽略允许通过较小更新进行更改的部分
编辑: 我认为
CoreApplication.Id
对您没有任何用处。只有在一个包中才能区分单个包中的多个应用程序。我不认为您可以通过VS designer编辑它,但是如果您在编辑器中打开
appxmanifest
文件,您可以看到该值,例如:

<Package>
  <Applications>
    <Application Id="App" />


.

如果您想识别设备,ASHWID是一种方法(您可能希望将其与用户本地存储上生成的设备Guid结合使用,以方便服务器查找已知设备ASHWID)

如果您想确定购买,您一定要查看CurrentApp.GetAppReceiptAsync(以及类似的方法)


您还可以根据您的场景使用这两种方法的组合。

我喜欢GetAppReceipt的这一点,它非常具有信息性。您是否可以稍微修改一下答案,以包含CoreApplication.Id与Package.Current.Id之间的差异?谢谢。@Alwyn我在回答中添加了更多关于
CoreApplication.Id
的信息。