How to Create and Revoke Licenses

visThe OEM library provides two functions to create a license and two functions to revoke a license:

· CreateLicenseW (Unicode version) and CreateLicenseA (ANSI version).

· RevokeLicenseW (Unicode version) and RevokeLicenseA (ANSI version).

In order to test the license creation and activation process, you can enable the SandboxMode in the OEM.ini file.


SandboxMode = True

The OEM.ini file should be placed in both the bin32 and bin64 paths under the Thinfinity VirtualUI installation folder and in the user's application executable file folder.

The software will first look for the file in the executable's directory (either the application's or any server's). If it doesn't find it there, there are two alternatives:

  • For the virtualizer, which is in ibin, it will search in bin64 and, afterwards, in bin32

  • For the rest of the cases. it searches for it in the parent directory. That is, if something runs in bin32 or bin64 it can use an oem.ini from their parent directory.

Adding External Methods

In a Delphi program we must first declare the external functions in their ANSI or Unicode version.


function CreateLicenseA(const email, oemkey, customerid: PAnsiChar;

units: DWORD; serial: PAnsiChar): integer; stdcall;


function RevokeLicenseA(const email, oemkey, serial: PAnsiChar): integer; stdcall;



function CreateLicenseW(const email, oemkey, customerid: PWideChar;

units: DWORD; serial: PWideChar): integer; stdcall;


function RevokeLicenseW(const email, oemkey, serial: PWideChar): integer; stdcall;


In order to access external library functions in a C# program, please declare:


CallingConvention = CallingConvention.StdCall, CharSet = CharSet.Unicode)]

private **`static`**extern `**int**CreateLicenseW(**string**email,**string**oemkey,`

`**string**customerid,**int**units, StringBuilder serial);`


CallingConvention = CallingConvention.StdCall, CharSet = CharSet.Unicode)]

private **`static`**extern `**int**RevokeLicenseW(**string**email,**string**oemkey,**string**serial);`

Read more:

· Creating Licenses

· Revoking Licenses

Last updated