Multiple versions inside single process

We are investigating the LexActivator C API to be used in our products, and our business needs require it to be able to operate with more than one product version in one process

In other words we need to be able to do like this

status = SetProductFile(L"Product1.dat");
status = SetVersionGUID(PRODUCT1_GUID, LA_USER);

… some actions …
then we need to do the following

status = SetProductFile(L"Product2.dat");
status = SetVersionGUID(PRODUCT2_GUID, LA_USER); - this call fails with code 9 (wrong GUID)

BUT

status = SetVersionGUID(PRODUCT1_GUID, LA_USER); - works without an error

Product1.dat + PRODUCT1_GUID and Product2.dat + PRODUCT2_GUID represent 2 versions of the same product.
So it seems that only the 1st call of SetProductFile function affects the flow. Thus we can’t switch between the versions in the same process.

Can you please comment on this?
Is there any solution?

Hi,

The use case of multiple versions inside single process should be dealt using custom fields. Multiple LexActivator instances per process are not supported.

Custom fields are their to help you customize Lexactivator as per your specific licensing licensing needs. You can implement versioning completely using custom fields too.