THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED
On 04/03/2010 at 06:04, xxxxxxxx wrote:
Cinema 4D Version: 11.5
Platform: Windows ;
we have a plugin that was compiled for 10.5 and also ran without problems on 11.0.
In this plugin we have a license checking function which serializes the serial using the WritePluginInfo() method and reads it with ReadPluginInfo() on subsequent starts of the plugin.
A user recently reported that unlocking the plugin wouldn't work for him on Cinema4D 11.5. We tried to reproduce the problem on 11.5 demo but it worked fine here.
My question would be: is there anything that changed lately regarding Write/ReadPluginInfo()?
Could it make any difference if the user uses a special (e.g. network) license of Cinema4D?
On 04/03/2010 at 08:13, xxxxxxxx wrote:
This topic has been discussed several times on the forum. Please make a search for WritePuginInfo and WriteRegInfo. WritePluginInfo will not work in a license server environment. You have to use WriteRegInfo instead.
On 11/03/2010 at 01:26, xxxxxxxx wrote:
yep, sorry, I seem to have missed that while searching.
One thing that is not clear to me even after trying to read up on this:
Will WriteRegInfo work in a net license environment only?
Or can I theoretically use WriteRegInfo in both cases?
I currently try to check for VERSION_NET and/or VERSION_SERVER in GeGetVersionType() and switch between WriteRegInfo and WritePluginInfo. If WriteRegInfo would work in both cases I would switch to using that exclusively.
Also VERSION_NET is the Cinema 4D Net Client that I should be checking, right?
On 11/03/2010 at 02:27, xxxxxxxx wrote:
ok...i figured out that NET Client and NET Server is something different...how would i determine if a C4D install uses a license server to determine which function to use?
On 11/03/2010 at 05:36, xxxxxxxx wrote:
WriteRegInfo should work in both cases but maybe you still want to use the seperate calls. Use GeGetSerialInfo with the MULTILICENSE bit passed. If there is a serial in SerialInfo then you know it is a license server environement.
On 11/03/2010 at 06:37, xxxxxxxx wrote:
that was exactly was I was searching for, thanks.
My main problem now is:
GeGetSerialInfo() with SERIAL_MULTILICENSE does only seem to be valid in the 11.5 SDK but not in 11.0
This would pose a problem if somebody used the plugin on 11.0 Multlicense...or was multilicensing introduced in 11.5 and I am creating problems that aren't existing? ^^
On 11/03/2010 at 06:40, xxxxxxxx wrote:
SERIAL_MULTILICENSE should also be valid in R11. At least it does here and is defined in the R11 API. License server was introduced in R11
On 11/03/2010 at 06:44, xxxxxxxx wrote:
Ah ok, I looked it up in the 11.0 SDK docs and there were only 2 defines:
SERIAL_CINEMA4D Serial for C4D.
SERIAL_BODYPAINT Serial for BodyPaint.
I might have an older version of the docs though since I downloaded it when the SDK was released.
One final question:
You say that WriteRegInfo should work in both cases (single seat and multilicense). Would there be anything wrong with using WriteRegInfo in both cases and skipping the distinction altogether?
On 11/03/2010 at 07:23, xxxxxxxx wrote:
You shouldn´t rely on the docs alone. There´s no guarantee for completeness.
I wouldn´t see why using WriteRegInfo in both cases shouldn´t work. In the end it´s just writing information into the registration, being aware of license server environment. In any case you should verify by testing (which you should do anyway).