I use Flexnet Publisher 11.16.5 and have two questions I haven't gotten answered:
1. How can I tie to a unique identifier of a VM (like VM_UUID) that cannot be duplicated? It's easy to copy a VM with the same UUID and it's easy to bring up a network interface with a licensed MAC address to duplicate the license. I want to tie it to something unique that cannot be duplicated. For example, the MAC of the Host network adapter and the host's hard drive serial number... Something like that. Using a dongle is not ok in this case. The client uses a Hyper-V Windows 7 Enterprise VM to run the license. I want to prevent piracy.
2. How can I use publisher to generate an activation key? Like back in the day, you would enter a serial number on a shareware program to unlock all or some of the features? I'd like to be able to license maybe 3 simultaneous runs (instances) and up to 8 CPU. We license features as APP_USERS and APP_CORES with the expiration date.
VM_UUID refers to the VMID property of the virtualized environment. This is the virtualized SMBIOS UUID on hypervisors and Azure, or the CVM Instance ID on Amazon EC2 or Google Compute. An exception is Linux Guests on Xen, where Xen may synthesize the VMID. SMBIOS UUID as VMID was introduced by VMware; this is the 'uuid.bios' value found in VMware configuration files.
VMID is a solid HostID on VMware and Xen, where a clone will change the value, but not on Hyper-V where cloning does not change VMID.
So, to have a more secure binding entities in place, usages of vendor defined hostID or composite hostID would be recommended. More details about them has been provided in product documents.
About the "activation key", i believe you could be talking about the shortcode activation. Details about them as well can be found out in TS documents. A search with keyword 'shortcode' should yield the results that you are looking for.
It was the vendor keys not supporting the feature in the server line and the fact that I didn't have the FNPublisherService running in CentOS.
Now for Windows - I'm not sure what needs to run to get the UUID of a VM.
You're correct on Linux it's the install_fnp.sh which will install the FlexNet Licensing Service
For Windows the FNP toolkit contains two sample programs that install and uninstall the FlexNet Licensing Service using fnpActSvcInstallWin and fnpActSvcUninstallWin functions of the FlexNet Licensing Service API:
These files are located in the <platform_dir> directory of the toolkit. The source code is available in \examples\anchor_service. These executables must be run as an Administrative user.
For testing you can simply run installanchorservice.exe to install the FlexNet Licensing Service - e.g. installanchorservice.exe <vendorName> <flexEnabledApplication>
More information about installing the FlexNet Licensing Service using the APIs can be found in the 'Installing the FlexNet Licensing Service on Windows' section of the 'FlexNet Publisher Programming Reference for License File–Based Licensing' guide.
Hope this helps.
I've looked and attempted to run the installanchorservice.exe with no luck. I ran "installanchorservice.exe vendor FEATURE" and still do not get the VM_UUID. I'm running a Hyper-V instance of Windows 10 pro.
I'm also looking for the exact files to include for the client to install the anchor service.
I found the answer. I wanted to know the bare minimum files needed to install/detect a vm. It's the install anchorservice.exe and the FNP_AnchorService.dll (or similar name - can't remember off the top of my head)