Using LexActivator for DAW plugins


We’re looking into using LexActivator (with v3.14) to manage licensing for our audio plugins (we support both Windows and macOS). A firm requirement is to use the static library, so the only thing we need to distribute is the plugin file (VST3 or AU).

For a bit of context about audio plugins: they do not exist as their own process, they are launched from within another application.

I’ve tried using the same product id for all plugins with different licenses (and types, as we might want Plugin A to have a certain policy, with a completely different policy for Plugin B).

I’ve also tried using a different product id for each plugin, and calling SetProductData, SetProductId, SetAppVersion, and SetLicenseCallback when launching a plugin.

Of the 2 cases, we’d prefer a solution using the 2nd one (different product ids), as we’ve inherited a plugin that already uses Cryptlex, and it would keep things tidy for our admins that use the dashboard.

In the second case, I’ve noticed that IsLicenseGenuine returns LA_OK, even if I’ve called SetProductData/SetProductId with a product that doesn’t have any licenses associated to it.

Does LexActivator support such a case? If so, how would I go about it?

I’ve read through this question. It gives me the impression that we could use LexActivator for such a case by activating the license every time we want to check if the license is valid. Is this correct? It seems to require storing the license key somewhere, which seems like a bad idea. Does LexActivator have anything for this?



In the case of node-locked licenses if the license is activated once IsLicenseGenuine() will return LA_OK if it passes every check inside it. Considering your case, it is not possible that IsLiceseGenuine() returns LA_OK without being activated once.

If the license type is hosted floating then the license key remains stored (even if the license is deactivated), so that next time you don’t have to provide a license key to activate the license.