Rhino Installer Engine - Error when installing - System.ArgumentException

Hi,

I have developed a plugin using RhinoCommon in C#. The plugin work well.

I’m now trying to create a RHI package installer following the wiki articles (my plugin should be installed for Rhino 5 32 and 64bits):

I cannot do the change to MyPlugIn.cs (as describe in the third link) for the GUID, Title and PlugInVersion. The functions doesn’t exist in the PlugIn base class.

So I ignore this part and create the folder architecture describe in the second link.

MyPlugIn\
  Rhino 4.0\
  Rhino 5.0\
    x86\
      MyPlugIn.rhp
    x64\
      MyPlugIn.rhp
  Common\
      Some other resource files...

Then I zipped everything and I changed the extension to rhi.

Finally I double click on that file to install the plugin. Everything went well till I got “An unexpected error has occurred during installation”. I try to find what was this error and found in a “MyPlugIn (20140221-102000).log” file the following error:

908	Info	                    	PluginPackage.Install starting for package at 'C:\Users\fabien\Desktop\MyPlugIn\MyPlugIn.rhi'
908	Info	                    	Found 2 plug-ins
908	Info	Compatible Rhino found: C:\Program Files\Rhinoceros 5 (64-bit)\System\Rhino.exe
908	Info	Compatible Rhino found: C:\Program Files\Rhinoceros 5 (64-bit)\System\Rhino.exe
908	Debug	                    	m_worker_InstallComplete starting
908	Error	InstallFailed       	m_worker_InstallComplete exception caught
908	Error	Exception: System.ArgumentException
				Message: L'objet doit être de type Version.
				Source: mscorlib
				StackTrace:    à System.Version.CompareTo(Object version)
				   à RMA.RhiExec.Model.PluginInfo.CompareTo(PluginInfo cf)
				   à RMA.RhiExec.Model.PackageInstallerPlugin.AfterInstall(Package package, RhinoInfo[] RhinoList, InstallerUser InstallAsUser)
				   à RMA.RhiExec.Engine.InstallerEngine.Install()
				   à RMA.RhiExec.Engine.InstallerEngine.m_worker_Install(Object sender, DoWorkEventArgs e)
				   à System.ComponentModel.BackgroundWorker.WorkerThreadStart(Object argument)
				
908	Debug	                    	ShowErrorDialog starting

Am I doing something wrong or is there a bug?

Thanks

Hum looking at the code here: https://github.com/mcneel/rhiexec/tree/master/Model, it seems that a Version is compared to a PluginInfo object in the PluginInfo.cs file in the CompateTo function.

I downloaded the source code and edited the line 285 as follow:

  • before: int comp = this.VersionNumber.CompareTo(cf);
  • after. int comp = this.VersionNumber.CompareTo(cf.VersionNumber);

I’m not sure it is good but I succeed to install properly my plugin!

The information on this page:

http://wiki.mcneel.com/developer/rhinoinstallerengine/dotnet

pertains to plug-ins built with the older Rhino_DotNet SDK. This information does not apply to plug-ins built with RhinoCommon. I’ve modified the page to try to make clearer.

Thanks for the answer.

I already ignore this page.
I still have the problem, do you think that the correction made in rhiexec is correct?

@brian, can you chime in on this?

Just a quick comment for the fellow reader:

Fabien suggested a change in rhiexec:

Thanks Fabien,
Giulio

Giulio Piacentino
for Robert McNeel & Associates
giulio@mcneel.com

1 Like

Hello!

Do you have any idea when the correction will be available? Is it possible to get it in the next SR (the 8 I guess)?

Thanks

Hello,

i cannot install Rhino 5. it says: update your computer with a Windows-compatible version before the installation.
But i do have Windows 7. what’s wrong?

Hi - I am getting exactly the same error on Rhino5 SR11. How is this resolved pls?

Thanks

Paul

Hi Paul,

What error are you getting? Details would be appreciated.

Thanks,

– Dale

Hi Dale - exactly the same error as the first post in this thread.

My apologies Dale - I seem to have threadhopped from the thread I thought I was in, and I cannot locator the original thread. The original thread pointed to the github PluginInfo.cs which linked back to here. Hopefully the screenshot above gives you enough info.

Thanks

Paul

Hi Paul, if you’re referring to the same PluginInfo error that @piac referenced above then I’ve implemented this in SR12, the first release candidate of which is now available.

Hi - I installed SR12, rebuild the plugin, and now get a different error - “An unexpected error has occurred during installation”.

The installer is at https://www.dropbox.com/s/c5wd49ztsz5o9hz/OctaneRenderForRhino.rhi?dl=0

Hi - just checking in if anyone has a solution for this pls?

Thanks

Paul

HI Paul,

Can you send me a copy of you RHI? (dale@mcneel.com)

Thanks,

– Dale

Hi Dale - I posted a link to the installer in my post above.

The installer is at https://www.dropbox.com/s/c5wd49ztsz5o9hz/OctaneRenderForRhino.rhi?dl=0

Paul

Hi Paul,

I’ve logged this as a bug for @will.

http://mcneel.myjetbrains.com/youtrack/issue/RH-31006

Note, the item is private.

@paulphysicalc – I’m getting the same error message here when I try to install your RHI file (with SR12 RC1). I’ll look into why this is happening and will keep you posted.

@dale – thanks for sending this my way.

Hi all,

I wrote a small python-script and want to distribute it now as an .rhi following this guide.

When I want to install the .rhi, i got the same “Unexpected Error” like @paulphysicalc, even on different computers. (Rhino 5 64bit SR12)

Does anybody found a solution for this problem?