I tried to use the SetCustomActDataPath, but did not get it to work.
What happened? What error code did you get? Did you call it before you called any other function (you must)? Did you read the details of the function:
This function allows you to set a custom folder to store the activationdata files. For normal use we do not recommend you use this function.
Only use this function if you absolutely must store data into a separatefolder. For example if your application runs on a USB drive and can't writeany files to the main disk, then you can use this function to save the activationdata files to a directory on the USB disk.
If you are using this function (which we only recommend for very special use-cases)then you must call this function on every start of your program at the very top ofyour app before any other functions are called.
The directory you pass in must already exist. And the process using TurboActivatemust have permission to create, write, and delete files in that directory.
Returns: TA_OK on success. Handle all other return codes as failures.
Possible return codes: TA_OK, TA_FAIL, TA_E_PDETS
But it sounds like you're creating 2 separate products (or 2 build of a product). In which case just create 2 products in LimeLM, and use the separate TurboActivate.dat for each separate product.
For example. We have a profile that has the complete product, that can be used by our customer to create files for factory workers. We also have a profile for factory users that can only load these files and execute them. These profiles are loaded by the license that is used, to activate them.
This still sounds like it would be best if you used a single product key for your app. The reason why is that this could be solved much easier by the administrator that will be installing your software. Or by your software itself.
As it is now you have some way to identify "regular users" and "workers", correct? That is, how do you know which group has access to which part of your app?