We are building IronRuby top-layer on a legacy application that consist, in part, of Windows 32-bit native dll:s. These native DLL:s are accessed by C# code via P/Invoke and our IronRuby code subsequently calls the C# code.
We start our app by running: ie.exe main.rb Things are going fine on Windows XP/Vista 32-bit. On 64-bit Vista, the native DLL:s fail to load and application execution fails. This is because 64-bit Vista uses by default 64-bit version of MS.NET framework (in c:\Windows\Microsoft.NET\Framework64). This executes in a 64-bit process that cannot load 32-bit dll:s. Vista64 has also 32-bit version of ms.net (in c:\Windows\Microsoft.NET\Framework). When our app is run with this version of the framework, it executes fine (loading 32-bit native dll:s) on Vista64. However, the only way we have found out to run a dotnet-exe with the 32-bit dotnet-framework on Vista64 is to compile the dotnet-exe with having "Platfowm target"-setting to be "x86" instead of the default "Any CPU". This means that currenlty we are forced to use our own compilation of ir.exe instead of working with the out-of-the-box ironruby-installations at http://www.ironruby.net/Download. Is there a way to start a dotnet-exe that has been built with "Any CPU" setting explicitly with 32-bit version of dotnet framework? Something like: c:\work> launch32 ir.exe main.rb If no, would it make sense for ir installation packages to contain out-of-the-box three versions of the main exe: ie.exe (Any CPU), ir32.exe and ir64.exe ? Robert Brotherus Napa Inc. _______________________________________________ Ironruby-core mailing list [email protected] http://rubyforge.org/mailman/listinfo/ironruby-core
