For example, the free app 3D Builder (for Windows 8.1) has an AUMID of "Microsoft.3DBuilder_8wekyb3d8bbwe!App". I obtained this value from the registry. Is it unique or static?
If you need more information please let me know.
Is AUMID unique? Yes and no.
ApplicationUserModelId (AUMID) is a combination of PackageFamilyName and PackageRelativeApplicationID (PRAID). The latter is the 'Id' from in your AppxManifest.xml.
PRAID is unique within a package; it's not unique across packages.
Package identity is a 5-tuple: Name, Version, Architecture, ResourceId and Publisher (usually expressed as PublisherId).
PackageFullName is unique across space and time - 2 packages with the same PackageFullName are the same thing. [You better not change a package's bits but given them the same identity - that's a violation of the appmodel and plays merry hell with the notion of identity. Various checks (try to) block that, e.g. submit different package with same content to the Store shouldn't succeed.]
PackageFamilyName is just Name + PublisherId. So it's not unique across packages.
The appmodel has a rule that 1 user cannot have registered more than 1 Main (application) package in a package family. It's not only perfectly legal but a design feature that on 1 machine I can have Scrabble v1 installed, Joe can have Scrabble v2, Mary's got Scrabble v3 and WU via AutomaticUpdates has Stage'd v4 (though no user is referencing it yet). In this case you can have 4 Main packages in the package family on the machine at one time, though to any one user there is only (at most) 1 available for use (Register'd).
So AUMID is not unique on a machine. But AUMID + User + PackageType=Main is unique on a machine.
** Since different machines could have different Main packages in a family AUMID+User isn't unique across machines.
*** There's no rule that PRAID remain unchanged across revs of a package in a family, thus Scrabble v1 can have Id="App", v2 can have Id="MyApp", v3 can have Id="Look.Its.Me.Scrabble" etc. Few developers change their PRAID (as it tends to mess with any coded or persisted references to their AUMID) but there's no rule against it.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With