AUMID(应用程序用户模型ID)是唯一的吗? [英] Are AUMID's (Application User Model ID's) unique?

查看:12
本文介绍了AUMID(应用程序用户模型ID)是唯一的吗?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

例如,免费应用程序3D Builder(适用于Windows 8.1)的AUMID为"Microsoft.3DBuilder_8wekplo3d8bbwe!app"。我从注册表中获得了此值。它是唯一的还是静态的?

如果您需要更多信息,请让我知道。

推荐答案

AUMID是唯一的吗?是也不是。

ApplicationUserModelID(AUMID)是PackageFamilyName和PackageRelativeApplicationID(PRAID)的组合。后者是AppxManifest.xml中的‘ID’。

PRAID在包中是唯一的;它在包中不是唯一的。

包标识是一个5元组:名称、版本、体系结构、资源ID和发布者(通常表示为PublisherID)。

PackageFullName在空间和时间上是唯一的,具有相同PackageFullName的包是相同的。[你最好不要改变包的部分,而是赋予它们相同的身份--这违反了应用程序模型,并且玩弄了身份的概念。各种检查(尝试)阻止,例如将具有相同内容的不同包提交到应用商店不应成功。]

PackageFamilyName只是名称+发布ID。所以它在各个包中并不是唯一的。

AppModel有一条规则,即一个用户不能在一个程序包系列中注册一个以上的主(应用程序)程序包。这不仅是完全合法的,而且是一种设计功能,在一台机器上我可以安装SCrabble v1,Joe可以安装SCrabble v2,Mary的SCrabble v3和Wu Via AutomaticUpdates拥有Stage d v4(尽管还没有用户参考它)。在这种情况下,您可以在计算机上同时拥有4个程序包系列中的主程序包,但对于任何一个用户来说,(最多)只有1个程序包可用(注册)。

因此AUMID在计算机上不是唯一的。 但AUMID+USER+PackageType=Main在计算机上是唯一的。

  • PackageType_Main很重要。一个用户可以注册0-1个主包、0+个资源包和0+个框架包。只要您的视图仅限于主包(即允许包含的唯一包),则AUMID+用户在计算机上是唯一的。

**由于不同的计算机在一个系列中可能有不同的主包,因此AUMID+用户在计算机中不是唯一的。

*没有规则要求在一个系列中的包的不同版本中保持PRAID不变,因此SCrabble v1可以有ID="App",v2可以有ID="MyApp",v3可以有ID="Look.Its.Me.SCrabble"等等。很少有开发人员更改他们的PRAID(因为它倾向于扰乱对其AUMID的任何编码或持久引用),但没有规则反对它。

这篇关于AUMID(应用程序用户模型ID)是唯一的吗?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆