User plugin serial number issue
-
THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED
On 22/10/2010 at 17:53, xxxxxxxx wrote:
Howdy,
Hmmmm, how do you know when a user has a license server or not?
I'm searching the forum now for answers but nothing is making any sense.
Adios,
Cactus Dan -
THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED
On 22/10/2010 at 18:03, xxxxxxxx wrote:
https://developers.maxon.net/forum/topic/4905/4814_registrations-using-readplugininfo-on-115
-
THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED
On 22/10/2010 at 18:15, xxxxxxxx wrote:
Howdy,
Thanks for that, but I've already seen that and it's not helping me figure this out. !
Confused
[URL-REMOVED]
Something just isn't clicking.Adios,
Cactus Dan
[URL-REMOVED] @maxon: This section contained a non-resolving link which has been removed.
-
THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED
On 22/10/2010 at 18:34, xxxxxxxx wrote:
Howdy,
OK, hold on I think I'm getting it.
Adios,
Cactus Dan -
THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED
On 23/10/2010 at 12:21, xxxxxxxx wrote:
Could you finally figure it out dan?
-
THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED
On 23/10/2010 at 12:25, xxxxxxxx wrote:
Howdy,
Well, I think so, but I'll have to wait to hear from the user to see if it worked.
Adios,
Cactus Dan -
THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED
On 28/10/2010 at 06:24, xxxxxxxx wrote:
Howdy,
The user is saying it's still not working.
Here's what I did. I created my own function calls like this:
Bool myReadPluginInfo(LONG pluginid, void *buffer, LONG size)
{
SerialInfo si;
GeGetSerialInfo(SERIAL_MULTILICENSE, &si);if(si.nr.Content()) return ReadRegInfo(pluginid,buffer,size); // multi license else return ReadPluginInfo(pluginid,buffer,size); // single license
}
Bool myWritePluginInfo(LONG pluginid, void *buffer, LONG size)
{
SerialInfo si;
GeGetSerialInfo(SERIAL_MULTILICENSE, &si);if(si.nr.Content()) return WriteRegInfo(pluginid,buffer,size); // multi license else return WritePluginInfo(pluginid,buffer,size); // single license
}
Seems like that should work, shouldn't it?
Adios,
Cactus Dan -
THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED
On 28/10/2010 at 06:36, xxxxxxxx wrote:
yep, looks right to me. Did he provide you with the license server serial number?
-
THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED
On 28/10/2010 at 06:45, xxxxxxxx wrote:
Howdy,
He provided the normal Cinema 4D serial number, BUT in my routine for checking the Cinema 4D serial number I use this:
SerialInfo si;
GeGetSerialInfo(SERIAL_CINEMA4D,&si);So, the previous code I posted is simply using
GeGetSerialInfo(SERIAL_MULTILICENSE, &si);
to check if it's a mult license or single license and then calling the appropriate c4d function to fill the buffer.
Adios,
Cactus Dan -
THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED
On 28/10/2010 at 07:21, xxxxxxxx wrote:
Well, that might be the problem. If the c4d license is in a license server environment then afaik you should use the license server serial number (as not the c4d serial number is used for running that c4d license in that case) which at the same time means you must license the amount of seats to them and you cannot license individual seats or a limited number of seats. So if they have 20 seats they must buy 20 licenses from you (of course you could trust them that they will only use your plugin with that one c4d seat but well...really?).
But I think only Matthias can give you an official answer on this.
-
THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED
On 28/10/2010 at 07:42, xxxxxxxx wrote:
Howdy,
I've sent Matthias a private message asking him to look at this thread.
This whole multi license thing has been confusing to me. I never really cared to make a customer pay for using the plugin on each seat in their multi license, so I thought if I just left the old code as is, looking for the Rx.0 number, everything would be fine. Up until now, everything has been fine (no customers with multi licenses), but it looks like it has turned around and bitten me in the upholstery. :frowning2:
Adios,
Cactus Dan -
THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED
On 28/10/2010 at 08:14, xxxxxxxx wrote:
Don't know if this helps but from earlier threads I use
SysGetUserInfo(6) for MLS and
SysGetUserInfo(0) for main app running local number.I've asked the MLS users I have with R12, and it seems to be ok.
Cheers
Lennartvar eleven; // the app serials var licensetype; if(SysGetUserInfo(6) && sizeof(SysGetUserInfo(6)) > 0 ) { eleven = SysGetUserInfo(6); licensetype = "LICENSE SERVER"; } if(SysGetUserInfo(0) && sizeof(SysGetUserInfo(0)) > 0 ) { eleven = SysGetUserInfo(0); licensetype = "Cinema R12"; }
-
THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED
On 28/10/2010 at 08:22, xxxxxxxx wrote:
Howdy,
But that is coffee code.
Adios,
Cactus Dan -
THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED
On 28/10/2010 at 08:39, xxxxxxxx wrote:
Yup, but I just wondered if SysGetUserInfo() might be useful / available for C++ as well,
but that I can't tell....Cheers
Lennart -
THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED
On 28/10/2010 at 09:20, xxxxxxxx wrote:
Howdy,
Well, no that function isn't in the C++ SDK.
The code I posted was based on the example code in the R11.5 C++ SDK documentation:
void GeGetSerialInfo(LONG type,
SerialInfo
[URL-REMOVED]* si)_<_h4_>_Get the registration information for CINEMA 4D.
A multi-license has the following formating:
201 **[100]** 00519-ABCDEF
The third, fourth and fifth digits equal the number of licenses, in the above example it's 100 licenses.
Example:
`
SerialInfo si;
GeGetSerialInfo(SERIAL_MULTILICENSE, &si);if(si.nr.Content())
{
//multi-license, do something
}
else
{
GeGetSerialInfo(SERIAL_CINEMA4D, &si);//single-license, do something
}
`That's basically what I was doing in my code, except that my code was only using that to find out whether to call Read/WritePluginInfo() or Read/WriteRegInfo().
Edit:
Well, I reckon the problem is that I don't have a beta tester who is on a multi license, who can check to see if it's working.Adios,
Cactus Dan
[URL-REMOVED] @maxon: This section contained a non-resolving link which has been removed.
-
THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED
On 03/11/2010 at 03:12, xxxxxxxx wrote:
Your code seems to work fine here. I tested it with and without license server.
I only slightly modified the code.
Bool myReadPluginInfo(LONG pluginid, void *buffer, LONG size) { SerialInfo si; GeGetSerialInfo(SERIAL_MULTILICENSE, &si); if(si.nr.Content()) return ReadRegInfo(pluginid,buffer,size); // multi license else { GeGetSerialInfo(SERIAL_CINEMA4D, &si); if(si.nr.Content()) return ReadPluginInfo(pluginid,buffer,size); // single license } return FALSE; } Bool myWritePluginInfo(LONG pluginid, void *buffer, LONG size) { SerialInfo si; GeGetSerialInfo(SERIAL_MULTILICENSE, &si); if(si.nr.Content()) return WriteRegInfo(pluginid,buffer,size); // multi license else { GeGetSerialInfo(SERIAL_CINEMA4D, &si); if(si.nr.Content()) return WritePluginInfo(pluginid,buffer,size); // single license } return FALSE; }
cheers,
Matthias -
THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED
On 03/11/2010 at 06:40, xxxxxxxx wrote:
Howdy,
Thanks Matthias.
But the question in my mind is if the user is under a multi license, is the main Cinema 4D license number still accessable?
The code I posted only decides where to read and write the plugin info, but then in the calling function, it's comparing the plugin serial number to the main Cinema 4D license with:
GeGetSerailInfo(SERIAL_CINEMA4D, &si);
Under a multi license, does the above code still get the 101xxxxxxxx license?
Adios,
Cactus Dan -
THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED
On 03/11/2010 at 07:04, xxxxxxxx wrote:
Calling GeGetSerialInfo(SERIAL_CINEMA4D, &si) with a multi license will return the license server client number. On the other hand if you call GeGetSerialInfo(SERIAL_MULTILICENSE, &si) with a single license will result in an empty string. This way you can differenciate between multi and single license.
hope that helps
cheers,
Matthias -
THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED
On 03/11/2010 at 07:12, xxxxxxxx wrote:
Howdy,
Originally posted by xxxxxxxx
...Calling GeGetSerialInfo(SERIAL_CINEMA4D, &si) with a multi license will return the license server client number...
So, is that the 201xxxxxxxx or the 101xxxxxxxx number? I'm only really interested in the 101xxxxxxxx number.
Adios,
Cactus Dan -
THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED
On 03/11/2010 at 07:17, xxxxxxxx wrote:
The 101xxxxxxxx is the license server client number. This is different for each of the running licenses of one multi license. GeGetSerialInfo(SERIAL_CINEMA4D, &si) under a multi license will return 101xxxxxxxx.
cheers,
Matthias