Hey Felix,
The difference between TA_USER and TA_SYSTEM is where the activation files are stored (either on a per-user basis or throughout the whole system). It main difference is simply whether your app, or your app's installer, will ever ask for "elevated" or admin permission to make the TA_SYSTEM call. If not, then you can always use the TA_USER.
Is it also possible to activate system wide? So that the activation has to be done just once and its system wide active?
Yes, use TA_SYSTEM in CheckAndSavePKeys().