Overview (Windows)
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.
Limitations
- 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.
Related Topics
Footnotes