Activate multiple licenses at the same time?


Hi all,

Our product consistes of a suite of a lot of plugins; currently there are 50+ of them, and this number will definitely grow in the future. All plugins need to be able to be active at the same time. Right now I am using a single product.dat for all these plugins. Users are able to buy a license for one or multiple of these plugins as they see fit; we track the allowed plugins per license in the metadata keys. So when a license is entered, the installed plugins themselves check with the metadata if they should be unlocked, or run in demo mode instead.

A problem I foresee is when a user later decides to buy additional plugins. We sell licenses per user, so we use the activation count for that. If the user places a new order by specifying the same e-mail address as used before, our web shop can intercept this nicely and ask if he wants to expand his current license instead. And if the user just orders a new license under a new email address, we can determine in-app whether the user is already running an existing license, and ask to merge the newly bought license from there (updating one of them and revoking/deleting the other).

When merging licenses, we want them to be registered on the same e-mail address and have the same user (activation) count. We can handle that nicely via a user portal, requiring them to first update one of the license’s email addresses and/or buying extra activations for one of the licenses to make the activation count match. But what if the user doesn’t want to match the activation count? Say he once bought a license for plugins #5 to #10 for 100 users, and now decides that he also wants to license plugin #30, but for 2 users only and not any more (certainly not all 100 existing users). Problem is though that these 2 users would still need to be able to work with activated versions of the plugins #5 to 10, even at the same time as they’re using the newly licensed plugin #30.

Ideally we would like him to still have the same license key for everything, but then the user/activation counts won’t work. We could also make each plugin use it’s own product.dat so they each have their own license + activation count, but then we’d need to distribute 50+ license keys whenever someone decides to buy the whole suite - also far from ideal.

I think there’s just no nice solution to this problem? The only solution would be to allow for more than 1 license to be active simultaneously per product.dat, but I think that is not possible with Cryptlex? Or is there some out-of-the-box way to handle this?



You can use multiple product id’s in a single app. Only one will be active at a time and you can switch the product id when you need to get/set details of other product.

A solution which comes to mind is that you can use same license key (the key) for different products. Only the key will be same but they licenses will be different. To set the key for the license you need to pass the key while creating the license.