Multiple CRhinolicenseValidator-derived objects

Dear all,

I have a problem with my license-validation plug-in. For the Grasshopper plug-in Karamba3D there exists an msi-installer alongside the possibility to install it via the YAK package manager.

In both of these, a license validation plug-in gets installed. In the case of the msi-installer this is done like described here. In the YAK variant installation occurs automatically by placing the plug-in in the root-folder of the installation package.

Since the installers are not aware of each other, users often end up running both: the msi and the YAK version. On start-up of Rhino this leads to a ‘Rhino Developer error message’-window saying ‘CRhinoLicenseValidator object registration error. A Plug-in can only have one CRhinoLicenseValidator-derived object.’

Is there a possibility in the plug-in constructor- or OnLoadPlugIn()-method to check for an already existing plug-in of the same ID and possibly stop initialization?

Would it be a solution to have two different license-plugins for the msi- and the YAK-installer? Is this possible despite the fact that they would have to come with the same RhinoPluginGUID and EnglishCommandName()?

– Clemens

Hi @cp1,

I’m thinking about this. Certainly having two methods of installation and two different install locations is a problem. The msi should be tuned up to looking for an existing Yak installation.

– Dale

Hi @dale,
thanks for your response!
In the long term I plan to switch to YAK.
For the transition period it would however be nice to be able to avoid the error message on start-up.
– Clemens