QlmHardware.GetUniqueSystemIdentifier1() maybe not returning the right value.
On my laptop (not a VM) GetUniqueSystemIdentifier1() returns "BSN12345678901234567"
I thought it should return the System Management BIOS UUID
GetSMBiosUUID() returns a UUID like: 5B68E50A-3795-0D4B-BE59-...etc.
For offline activation, using "BSN12345678..." doesn't work, but the MAC Address does, as I'd expect.
So it seems that GetUniqueSystemIdentifer() and Validate with ELicenseBinding.UniqueSystemIdentifier1 don't agree on the string to use.
FYI: In the application license .xml file, i've specified "UniqueSystemIdentifier as the licensing binding type.
My workaround is to get the right id, and licencing binding type explicitly using QlmHardware.RunningOnVM() to decide which Get..ID() and which ELicenceBinding to use with ValidateLicenseAtStartup().
Took me a while to figure this all out, so I thought i'd share it. Let me know if I've misunderstood how this is supposed to work.
Thanks.
-
Official comment
Hi Sean
GetUniqueSystemIdentifer works as follows:
For Virtual machinees, tries to get System Management BIOS UUID.
For physical machines, tries to get Motherboard Serial Number.
If the above fails, tries to get the first Volume Serial Number.
If the above fails, tries to get first MAC Address.
If the above fails, tries to get the Computer Name.
Regards
John
Comment actions -
Thanks John, I did understand that from the documentation.
The issue as i saw it was: "...it seems that GetUniqueSystemIdentifer() and Validate with ELicenseBinding.UniqueSystemIdentifier1 don't agree on the string to use".
I did a little research on this. "BSN12345678901234567" is the motherboard serial number used by ASUS.
Fortunately QLM allows me to choose the id to use, and I could work around this issue.
Perhaps there's something else i did wrong, but maybe other people will encounter this too, FWIW.
-
Hi Sean
Thank you for your response.
I'd really like to understand more about this issue and if there's a bug, we'd like to fix it.
Can you please clarify how you are using ELicenseBinding.UniqueSystemIdentifier1 and what specific call is returning the wrong identifier?
In the case that you mentioned, it is execpted that GetUniqueSystemIdentifer1 should return the motherboard serial number since you are not running on a VM. So I assume you're saying that ValidateLicense is using a different identifier than the motherboard SN.
Please include source code if possible in your response.
Regards
John
Please sign in to leave a comment.
Comments
3 comments