Rhino Installer Engine
This guide is a brief introduction to the Rhino Installer Engine.
The Rhino Installer Engine simplifies distribution, installation and updating of plug-ins for Rhino for Windows.
How It Works
File and folder structure
A Rhino Installer package is a zip file with an .rhi extension. The package can include more than one version of a plug-in however all versions must share the same GUID (i.e. they’re different versions of the same plug-in).
There are no file structure or naming requirements. For example the two packages below are functionally equivalent. Both contain versions of “Marmoset” – a fictitious C++ plug-in compiled for Rhino 5 (32-bit and 64-bit) and Rhino 61.
Marmoset_tree.rhi/ ├── Rhino 6/ │ ├── Marmoset.rhp │ ├── Marmoset.dll │ └── Marmoset.rui └── Rhino 5.0/ ├── x86/ │ ├── Marmoset.rhp │ └── ... └── x64/ ├── Marmoset.rhp └── ...
Marmoset_flat.rhi/ ├── Marmoset_rhino6.rhp ├── Marmoset_rhino5_x86.rhp ├── Marmoset_rhino5_x64.rhp ├── Marmoset_rhino6.dll ├── ... └── Marmoset.rui
You can include anything you want in the .rhi package – supporting DLLs, help files, documentation, toolbar (.rui) files, etc. The entire contents are unzipped to a directory on the user’s machine.
Installation and compatibility
The Rhino Installer Engine examines each .rhp file and extracts the plugin GUID, Title, Version, the SDK used (e.g. RhinoCommon, C++) and the SDK version. This information is used to determine which version of the plug-in will be installed for which installed version of Rhino for Windows; the newest compatible plugin is registered with the corresponding version of Rhino. RhinoCommon plug-ins compiled as
AnyCPU will be installed for both 32- and 64-bit Rhino 51.
- The Rhino Installer Engine will copy files from the .rhi archive, and will register the plug-ins it finds. No other execution is done.
- Currently, it is not possible to digitally sign .rhi files in order to verify the source of .rhi files.
- The Rhino Installer Engine is available with Rhino 5 and later.