From 1e8062e76d6ab45613c5d12a8202c91b384b972c Mon Sep 17 00:00:00 2001 From: Huzaif Mushtaq Mir Date: Tue, 13 Jan 2026 15:05:15 +0530 Subject: [PATCH] feat: add MigrateToSystemWideActivation --- .../cryptlex/lexactivator/LexActivator.java | 23 +++++++++++++++++++ .../lexactivator/LexActivatorNative.java | 2 ++ 2 files changed, 25 insertions(+) diff --git a/src/main/java/com/cryptlex/lexactivator/LexActivator.java b/src/main/java/com/cryptlex/lexactivator/LexActivator.java index caab6ff..b69f69f 100644 --- a/src/main/java/com/cryptlex/lexactivator/LexActivator.java +++ b/src/main/java/com/cryptlex/lexactivator/LexActivator.java @@ -2079,6 +2079,29 @@ public static void ResetActivationMeterAttributeUses(String name) } } + /** + * Migrates existing license data to system-wide storage. Call this function + * after SetProductData(). If you intend to use a custom data directory after + * migration, set it first using SetDataDirectory(). Note: The function + * does not support migration from custom data directories. + * + * @param oldPermissionFlag previous permission flag used + * @return LA_OK, LA_FAIL + * @throws LexActivatorException + */ + public static int MigrateToSystemWideActivation(int oldPermissionFlag) throws LexActivatorException { + int status; + status = LexActivatorNative.MigrateToSystemWideActivation(oldPermissionFlag); + switch (status) { + case LA_OK: + return LA_OK; + case LA_FAIL: + return LA_FAIL; + default: + throw new LexActivatorException(status); + } + } + /** * Resets the activation and trial data stored in the machine. This function is * meant for developer testing only. Note: The function does not reset diff --git a/src/main/java/com/cryptlex/lexactivator/LexActivatorNative.java b/src/main/java/com/cryptlex/lexactivator/LexActivatorNative.java index 3a6bb58..7c8ee8d 100644 --- a/src/main/java/com/cryptlex/lexactivator/LexActivatorNative.java +++ b/src/main/java/com/cryptlex/lexactivator/LexActivatorNative.java @@ -305,5 +305,7 @@ public interface ReleaseUpdateCallbackTypeA extends Callback { public static native int ResetActivationMeterAttributeUses(WString name); + public static native int MigrateToSystemWideActivation(int oldPermissionFlag); + public static native int Reset(); }