Remove Plugin from Rhino?

I have a small plugin that I am developing myself for in-house use. Now I want to go through the process of installing it again so I can see what the process is like for others.

But how do I remove a plugin? I can disable the plugin, but it’s still there in the list of plugins in Rhino Options. I also can’t actually delete plugin file, because I added the plugin from the folder where I build my plugin to.

How do other plugin developers do this?

And I am not even sure where the plugin is. Does it make a copy in its own folder in AppData somewhere? Is it a symlink? Or does Rhino just add the path to the plugin to its environment variables?

Seems odd to have so many ways to install a plugin, but non to uninstall.

What am I missing?

as fare as I know, on Windows plug-ins will stay in the location you install them from.

for mac it might be different.

there is not much info about pc.

I think disabling (Plug-in Manager) and deleting / hiding (renaming) the installed file will already do a lot.

Some info about plug-ins is also stored in the Registry.

There is a Guid in the assemblyInfo.cs of your Plugin
[assembly: Guid("....")] // This will also be the Guid of the Rhino plug-in

(make a backup before you edit anything …)

open regEdit
search for the Guid
talk a small coffeebreak…

the key might look like this:
HKEY_USERS\xx-xxx-xxx-xx-xx\SOFTWARE\McNeel\Rhinoceros\6.0\Plug-Ins<your guid>

delete it on your own risk

search again, delete again - not sure if there is a per user and a general entry…

the other approach is to test the installation on a virutal machine or some other sandboxing… (thats my approach)

also disabling the plug-in and changing the Guid might work… but not sure on this

(AT)Dale would be the person to ask I guess…

would be interested in your solution - thanks for any update - kind regards - tom

1 Like

Thanks for the information! Yeah, seems strange that removing a plugin isn’t really a thing. Surely Rhino knows where it has added any Registry keys and so on and should remove those.

I noticed that the Package Manager does simply have an uninstall button under the install button!?

I would actually much prefer to use the Package Manager, but I don’t want to make my plugin public. Can the Package Manager be somehow used with private plugins?

I will report on what I find.

you might be able to track, what package manager is doing.
install and uninstall a simple plug-in and track the behaviour. (?) or wait for an answer from some of the mcneel pros…

windows - Keeping track of changes to a System during Software/Patch Installation - Server Fault

Hey @seltzdesign,

The package manager (yak) can point to local directories;

  • options/advanced
  • search package manager
  • change the paths to include a local dir separated by a ‘;’
    Or you can drag and drop yak pacakages into rhino. If installed this way, it can be uninstalled from the package manager.

You can also uninstall manually. (With Rhino closed)

  1. If installed by yak;
    %appdata%/mcneel/rhino/packages/7/<your plpugin>
  2. If installed by .rhi and not yak (legacy)
    %appdata%/mcneel/rhino/7/plugins/<your plugin>
  3. If installed by dragging a .rhp from debug, you can just delete that directory.

After doing this when you open rhino again it’ll be gone.

Just coming back to this while trying to record a tutorial on how to install. This wouldn’t be so problematic if it weren’t that the plugin I developed is on our Dropbox and it “installs” by creating some link that cannot be easily deleted.

I also can’t delete or rename the Dropbox folder, because then the plugin won’t work for others.

I also can’t install from Yak now, because it says the Plugin ID is already in use.

@dale Can you tell us the official way of removing a plugin from Rhino without actually removing the plugin files?

@Tom_P you forgot to actually @ mention Dale properly.

Why is “Remove from Rhino” not a right-click option in Settings > Plugins?

If only removing the plugin is the way to delete a plugin, then why is the plugin not copied to C:\Program Files\Rhino 7\Plug-ins like all the other plugins. Then it would make sense to just delete it to remove from Rhino.

I guess then distributing a .rhp is not sensible any more (or never was) and giving someone access to the .yak file is safer if it can then be uninstalled.

Still not sure how updating would work then. In the case of the Plugin on Dropbox at least it would sort of auto-update.

If the plugin is not on Yak then I still don’t see how it would be updated.

Can I just send people a newer version of the .yak file and it would update it?

Edit: this was a long post. I clicked to reply, but instead it decided to edit this post. Sorry. There does not seem to be a way to restore a post…

I did this on purpose.
my idea was only to involve Dale, if the other solutions do not work for you.

  • so my idea was that you write the proper AT Dale if needed - as you did.
1 Like

Hi @seltzdesign,

On Windows, Rhino finds plug-ins via the Registry.

Note, for drag and drop installations, you’ll find the same information, mentioned above in the curve user’s hive in the Registry. This because Rhino is generally not run with elevated privileges.

– Dale

Okay. So it can add things to the registry, but not remove things from the registry?

Different but related question: If I drag and drop install a .rhp file, which has a .rui file next to it, it will also install the toolbar. If I drag and drop install the .yak file, it does not install the .rui file automatically.

How can I add the toolbar to the yak file?

1 Like

Programmatically, you can do both. Of course, you need permission in the Registry hive.

Just add it to the package zip.

– Dale

1 Like