We go into detail in the TurboActivate.h file:
Checks and saves the product key.
Note: If you pass in the TA_SYSTEM flag and you don't have "admin" or "elevated" permission then the call will fail.
If you call this function once in the past with the flag TA_SYSTEM and the calling process was an admin process then subsequent calls with the TA_SYSTEM flag will succeed even if the calling process is *not* admin/elevated.
If you want to take advantage of this behavior from an admin process (e.g. an installer) but the user hasn't entered a product key then you can call this function with a null string:
CheckAndSavePKey(0, TA_SYSTEM);
This will set everything up so that subsequent calls with the TA_SYSTEM flag will succeed even if from non-admin processes.
Returns: TA_OK on success. Handle all other return codes as failures.
Possible return codes: TA_OK, TA_FAIL, TA_E_PDETS, TA_E_PERMISSION, TA_E_INVALID_FLAGS
How do I get system-admin privileges?
On Windows just run the exe "elevated" on Vista+ or under an admin account on Windows XP. On Linux run the app with "sudo" or "su". Ditto for Mac OS X.
The easiest way to handle this, as described in the TurboActivate.h comment on the function, is to call the CheckAndSavePKey(0, TA_SYSTEM); function in your installer that you'll know will be elevated. Then you can make all subsequent calls from non-elevated apps.
Does that make sense?