How to create an installer

Hi All

I would like to create an installer (MSI or exe) for sale.
I have referred to the Yak page but do not want to push it to Server.
I am fine with Yak as long as I can combine the .rui and .rhp files into one.
The current plugin configuration looks like this.

├── Plug-in.rui
├── Plug-in1.rhp
├── Plug-in2.rhp
├── Plug-in3.rhp
├── ...Other rhp
└── misc/
    └── LICENSE.txt

I am willing to manage it in the Zoo.
In any case, we need to put the files together, right?

best regards.

Hi! I just answered a similar question in Yak!

If you’re intending to distribute a commercial plug-in, you should consider implementing a licensing mechanism to protect from unauthorised use. We allow third-parties to hook into our LAN Zoo and Cloud Zoo licensing methods.

If your plug-in requires a license key (whether that key is entered directly, or added to a license server) to unlock the functionality, then you don’t necessarily need to control the distribution of the plug-in. There are plenty of examples of Rhino/Grasshopper plug-ins that are freely available with limited or no functionality without a license key. The package server is a good option and makes things very easy for your users.

Right now, the .yak package format doesn’t have the ideal user experience when distributed outside of the package server or a custom package repository. If you don’t want to publish your package, then I’d probably look into a different solution.

Hello @will

Is the best way to register the plugin with CloudZoo, similar to RhinoAccount, in the current situation, and have the user who purchased it enter the license key I issued?

edit: Can a custom package repository be distributed outside of the same LAN?
For example, I want to distribute to people outside my area.

The main considerations with Cloud Zoo are (a) we host the servers, and (b) each user must have their own Rhino Account. If this sounds fine then I’d say that the Cloud Zoo offers the most flexibility. Otherwise, you’ll want to look at LAN Zoo.

Note, however, that in order for your customers to add your product’s license keys to Cloud Zoo, you’ll need to host your own issuer server.

Anything that can be accessed as a folder (either locally or on a file share) can be used as a custom package repository.

In your proposal (a), if I register the plugin with CloudZoo, the user who purchased it will have access to it and use it, is that correct?
In other words, it’s like a RhinoAccount, right?

Rhino Accounts is integral to the way that Cloud Zoo works. Licenses must be associated with either an account or a team. Users must login with their Rhino account in order to use products that they have access to.

thanks a lot!

I would like to know how to create an MSI in Visual Studio by adding a rui file and multiple rhp files.

Can you please give me information on that?

best regards.

Sorry @jack3 - you’ll need to Google.

– Dale

Hi @jack3 ,

I am currently researching the same topic. Would you mind sharing your insights on that?

There are couple of solutions. Example of free one is WixToolset

We use Actual Installer, it was fairly inexpensive, and does everything we needed for JewelBeetle.

Actual Installer - Free Software Installer Tool for Windows

I have used Microsoft Visual Studio Installer Projects for a number of years. You need to get comfortable modifying the registry, but it does the job just fine for free.

I think there was a page somewhere on the rhino site that explained what the registry keys were… ahh - quick search… that was easy:

Rhino - Registering Plugins (Windows) (


1 Like

I thought those stopped working years ago with VS 2019 or something…

They used to be great, wish MS had kept support for them, I can’t live without VS 2022…

You can find it in the extensions manager in visual studio 2022.

Go look. I have it installed now.


1 Like