RHI installer - is it possible to control Rhino version?

Hi All,

Is it possible to control which version of Rhino the RHI package plugin installs?
For example if user has Rhino 5,6 and WIP installed, I would like to install only for V6 and WIP. Could this be controlled somehow with RHI package structure, or any other way ?

thank you,

–jarek

Hi @Jarek, have you seen this ?

_
c.

Hi Clement,

I did just see it after posting this, but did not try it out.
Do you know if making the folders named as in the sample will result in the plugins to be installed for particular Rhino versions ONLY ?

thanks!

–jarek

Hi @Jarek, yes i have used this for a plugin and it installed only for Rhino 5 back then. I had only problems getting the toolbar installed and opened automatically.

_
c.

1 Like

Thanks Clement - testing it right now… : )

Unfortunately organizing it in folders doesn’t seem to do much.
It always installs in all Rhino versions. (I run Install for all users)
I only have Rhino 6 folder in there…

Capture

Based on the Marmoset example, would you say we should ZIP->RHI the main Marmoset folder, including it, or just the sub-folders structure? Either way (I tried both), it always installs into all Rhino versions.

–jarek

Since WIP was installed, I also get this every time I run the RHI installation.
It did not happen before in Rhino 6:

Hi @Jarek,

as far as i understand, the folder names do not control this but the rhp file itself. The helppage mentions this at the bottom footnotes:

folder names are not important; the .rhp files themselves are inspected to determine for which versions of Rhino they will be installed

Imho, this makes the example harder to understand. Maybe @will can jump in here for additional help.
_
c.

hi Clement,

thanks - I don’t know how to control the rhp version - I just compile with RhinoScript compiler, while having all Rhino 5,6 and WIP installed. I am not aware of any controls that would tell rhp files which version of Rhino to install into.

best,

–jarek

Hi @Jarek,

Why is this important?

– Dale

hi @dale,

For a couple of reasons. Main one being I know my plugin will not work in Rhino 5; Obviously I can detect the Rhino version from within the code and stop it from running, but I would like to avoid cluttering the UI with the plugin icons and why have the not working command autocomplete? This is not very elegant.

thanks,

–jarek

I’ve logged the wish.

https://mcneel.myjetbrains.com/youtrack/issue/RH-52599

– Dale

1 Like

Hey @Jarek, I had chance to look into this quickly today and discovered that if you compile against Rhino 6 (Plugin settings > SDK > “C:\ProgramFiles\Rhino 6\System\RhinoCommon.dll”) then the resulting .rhi will not attempt to install the plug-in for Rhino 5. This way you can provide a “minimum version” for your plug-in.

Hi @will, does this mean that the plugin is then installed for the next higher Rhino version (Wip or Rhino 7) as well ?

_
c.

Yes, plug-ins created with the RhinoScript Compiler for Rhino 6 should be compatible with Rhino 7; the Rhino Installer Engine will install the plug-in for both versions of Rhino, if installed.

thank Will, i will try that.

Hi @will, this is what i try to prevent. The plugin should only install and run in Rhino 6. How would i accomplish that ?

_
c.

+1, ideally we would have control over specific Rhino version (5,6,7…)

By working to maintain backwards compatibility in our SDKs and automatically installing plug-ins for newer major versions of Rhino, where possible, we had hoped to make life easy for users who wish to upgrade. What are your reasons for not wanting your plug-ins to install for Rhino 7? Are there any bugs that we should know about?

Interoperability. My plugin calls commands from other plugins which are not available in other Rhino versions or may work differently in these versions. Also licensing. If my client tells me that a plugin should be compiled for an individual outsource and testing purposes and it should be limited to a single SR i can add additional code before each script (command) to check if the outsource is using desired Rhino version. In this case it does not make sense to let the outsource install at all in any other version than the one i can specified.

Finally, security reasons. If i never tested my plugin with eg. RH7, i do not want anyone to do this and prevent that installation.

_
c.

1 Like