I can see why the choices that were made, were made...
Here is something to consider, it might not be an option given all the time already spent on Ruby, but it does provide a relatively quick fix and should be as clean as static linking.
Windows Scripting Host..
Why can't you just embed that into Flowstone? I have done that in the past and it was quite a trivial process. As simple as creating a link to a COM object and then sending your code to it as a property. What I did not do however, is handle events with it, but that seems to be a relativbely trivial matter too. As long as the scripot event handler has trhe correct name then the event will be fired.
So the positives of using WSH are
-It automatically supports two wide spread, well known languages right out of the box. VBScript, and J-Script. There is support for Ruby, Perl, Python, TCL, and pretty much any other language you want to through at it as well. Although support for the other languages has to be installed.
-There would be no need to install anything external(unless you were going to keep the Ruby support)
-Adding new custom FS classes to it are as simple as sending code to the component when its started.
-Standard Code base that is maintained by someone else!
-It should literally just drop right in your code, and you should be able to pass it a ready made class to interact with.
-All systems that a DLL or EXE is likely to ran on will have WSH
-All Windows OLE is already handled, you need to do nothing for it..
-DirectX is also immediately available.
-ADSI is available out of the box
-ADO is available out of the box
-Essentially every Windows service is available with no or very little hoop jumping immediately.
-Has been in service since Windows 98 so its dug in and not likely to go anywhere any time soon.
-Most of your robotics customers will have developers on staff that know these languages already so its a selling point for FS's other service.
I mean, really, lets face it, FS is never going to support MAC, so, lets understand that and move forward. If it is going to be a Windows only based system, then it should support all windows functions internally and without hinderance. If its going to be single platform then then lets make it amazing at running in that platform.
Unless you can get the Ruby DLL statically linked, then there's not many favourable options left. I just don't like the idea that my software development platform performs a hidden installation every time my plugin gets scanned, let alone loaded. No one has even mentioned clean up, what happens if the system crashes, that DLL gets left where it is. In fact does it actually delete the dll when the plugin/exe stops running? I think if you go down this road any further you are going to have more trouble and it will take you more time than if you just bit the bullet and went with the WSH. Ruby can still be supported as far as I know as well. So, I think if you install ActiveScriptRuby WSH supports it. I have not tested this myself, so I will stop short of saying for sure it will work.
ActiveScript Ruby download
http://www.artonx.org/data/asr/I really hate to give you guys a hard time about this, but In my opinion the only real option is static linking, which I know was what you were originally thinking. We had conversations where I mentioned static linking CINT and you had mentioned about static linking Ruby, so I know this copying DLL stuff was never part of the plan and its just a fix. If you were only dealing with the Robotics side of things, then no one is going to care if they have to install support files, so including the Ruby DLL as an installation would be fine, but you also have the VST side of things. I cannot imagine trying to explain to KVR users that they need to install another DLL in addition to the VST DLL. So really, like I said, static linking is the only real option. Second on my list would be to include the Windows Scripting Host if the static linking does not work. At the very least I would start running some tests on it to see if its even viable...
Here is the Windows Scriopting MSDN information
http://msdn.microsoft.com/en-us/library/fdee6589(v=vs.94).aspxBest of luck..