License/Release Management for files



we´re using the LexAuthentificator for a software we´ve developed (which is doing a great job btw.). In our software the users will be able to purchase and download additional content which is stored in a compressed database. Since these files will also need some kind of licensing we thought about handling this with Cryptlex aswell. The databases need to be updated separetely from the application.
My idea would be to have the files as a seperate product and if checking for an update to call SetProductData() and SetProductId() with the data and ID of a database and than call CheckForReleaseUpdate() or does the ProductData and ProductID always have to be associated with that of the application?
Also it would be very useful to bundle certain licenses of the main application together with licenses of several databases. So a costumer can buy a bundle that contains the application and some of the databases, without having to handle everything seperately. Is that possible?

Best regards


Hi Sandro,

How are you planning to call the SetProductId and SetProductData() functions for your database files? Are you planning to call it from the main app or create a separate binary file which will call these functions, and your main app will interact with the database updater binary through some interprocess communication?

CheckForReleaseUpdate() will work for database files only when the license is activated for the database files.



Thanks for your reply. I was planning to call SetProductId() and SetProductData() from the main app if thats possible. I also planned on checking if the databases licenses are valid when they´re opened. Would that be possible?

Thats fine, if your don´t have a license for the databases, you shouldn´t be able to update them.



If you are planning to activate the two products from a single app, then you have to ensure that you call the following three functions to change the current product:

SetProductId(), SetProductData(), SetLicenseKey()

The above three functions should be called when you want to switch the product from within the same app. After switching the product, you can call CheckForReleaseUpdate() function. Also, ensure that you use separate callback functions for the two products.



Alright, I´ll do that. Thanks for your help!