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:


// Rhino plug-in declaration


// Rhino plug-in declaration
// Return a short, friendly name for the plug-in.
// unique id for this plug-in
// auto-incrementing version number

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__;


  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.


developer/rhinoinstallerengine/cpp.txt ยท Last modified: 2020/08/14 (external edit)