Site Tools


Making your C++ Plug-in Compatible with the Rhino Installer Engine

The Rhino Installer Engine provides a simple way to distribute plug-ins for Rhino 4.0, Rhino 5.0 32- and 64-bit. To learn more about distributing plug-ins using the Rhino Installer Engine, read The Rhino Installer Engine.

SDK requirements

  • Link with the Rhino 4.0 SR8 or newer SDK for Rhino 4.0 plug-ins
  • Link with the Rhino 5.0 WIP 9-Feb-2010 or newer SDK for Rhino 5.0 plug-ins

Add macros

In your PlugIn.cpp file:

Replace:

// Rhino plug-in declaration
RHINO_PLUG_IN_DECLARE

with

// Rhino plug-in declaration
RHINO_PLUG_IN_DECLARE
 
// Return a short, friendly name for the plug-in.
RHINO_PLUG_IN_NAME(L"MyPlugIn")
 
// unique id for this plug-in
RHINO_PLUG_IN_ID(L"XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX") 
 
// auto-incrementing version number
RHINO_PLUG_IN_VERSION( __DATE__ "  " __TIME__ )

Be sure to

  • Put the string version of your plug-in's GUID (you can find this in CMyPlugIn::PlugInID() farther down in the same file).
  • Put the friendly name of your plug-in in the RHINO_PLUG_IN_NAME macro. This name will be used by the Rhino Installer Engine to tell the user what plug-in they are installing.

Change the plug-in class constructor

Change this line in CMyPlugIn::CMyPlugIn() from

  m_plugin_version = __DATE__"  "__TIME__;

to

  m_plugin_version = RhinoPlugInVersion();

Change function definitions

Change these two function definitions to read:

GUID CMyPlugIn::PlugInID() const
{
  // Return a unique identifier for the plug-in.
  return ON_UuidFromString(RhinoPlugInId());
} 
 
const wchar_t* CMyPlugIn::PlugInName() const
{
 // Return a short, friendly name for the plug-in.
 return RhinoPlugInName();
} 

The RhinoPlugInId() function returns the string you define in the RHINO_PLUG_IN_ID macro.

The RhinoPlugInName() function returns the string you define in the RHINO_PLUG_IN_NAME macro.

Tags:

developer/rhinoinstallerengine/cpp.txt ยท Last modified: 2016/04/06 by sandy