Unable to load rhino plugin more than once

Hello,

I am building custom Grasshopper interop components, and to make installing easier, made a dummy rhino plugin, so I could zip up the .gha and dependent .dlls with the dummy .rhp into a .rhi package.

On the first occasion, everything works correctly. But, if I “uninstall” the plugin, by deleting it’s folder under AppData\Roaming\McNeel\Rhinoceros\6.0\Plug-ins and try to reinstall it the installation outside of rhino runs, copies the files over, but at startup Rhino throws the following error “Unable to load GHCSLink.rhp plug-in: initialization failed.”

What would I need to do to make this plugin reinstallable? Or is there some correct way of uninstalling plugins that I do not see?

Are there some best practices for these kind of dummy rhino plugins? Currently it is basically empty as created by the RhinoCommon tools for visual studio.

@will - is this something you can help with?

This is the first time I’ve heard of using a dummy RHP to get round that limitation of the Rhino Installer Engine!

@harmatb, just to make sure I’m getting this right… you’re installing the RHI, then manually removing the installed files (which, yes, is the only way to “uninstall” an RHI), then attempting to install the RHI again?

Is your package intended for public or private consumption? If public, you might consider using the new Package Manager.

@will Yes, that is right.
The package is under closed beta testing with a few select engineers, which is why I looked for a solution other than the public package manager.

Using the Package Manager is the end goal, when we reach a stable state fit for public release.
Even then, we would like to also upload it as a simple downloadable package to Food4Rhino, as most of our users will look there to see if this exists.

Not sure where I got the idea for a dummy rhp project, but as we only have a .gha file and some dependent dll-s, it seemed like a nice uncomplicated way of keeping things together, and the responsibility of finding out where to copy the files out of the user’s hands.