Announcement

Collapse
No announcement yet.

Wine-Mono: Marrying Mono With WINE

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • Wine-Mono: Marrying Mono With WINE

    Phoronix: Wine-Mono: Marrying Mono With WINE

    This weekend there was a new release of Wine-Mono, a project which marries Wine with components of Mono...

    Phoronix, Linux Hardware Reviews, Linux hardware benchmarks, Linux server benchmarks, Linux benchmarking, Desktop Linux, Linux performance, Open Source graphics, Linux How To, Ubuntu benchmarks, Ubuntu hardware, Phoronix Test Suite

  • #2
    So if I get this right, Mono is such a incoherent mess, that it's intended purpose, being platform independant .net implementation now requires windows (via wine) to actually properly work?

    I still wouldn't touch it with a 10m pole.

    Comment


    • #3
      Other way around

      Originally posted by oliver View Post
      So if I get this right, Mono is such a incoherent mess, that it's intended purpose, being platform independant .net implementation now requires windows (via wine) to actually properly work?

      I still wouldn't touch it with a 10m pole.
      No, I think it is the other way around.
      If you want to run Windows applications, then having just Wine often isn't enough, you need to download runtimes such as Visual C++ runtime (msvcr*.dll) and .NET framework.

      .NET apps should work on Mono without Wine, if they don't use Windows-specific parts of .NET such as Windows Forms. Though, there are some other parts beside Windows Forms that are still not implemented by Mono yet.

      Comment


      • #4
        Originally posted by uid313 View Post
        .NET apps should work on Mono without Wine, if they don't use Windows-specific parts of .NET such as Windows Forms. Though, there are some other parts beside Windows Forms that are still not implemented by Mono yet.
        Windows Forms is implemented in Mono.

        Comment


        • #5
          Originally posted by AnonymousCoward View Post
          Windows Forms is implemented in Mono.
          http://www.mono-project.com/WinForms
          So you still need wine to run mono apps then.

          Comment


          • #6
            Originally posted by oliver View Post
            So you still need wine to run mono apps then.
            This is a cross-platform .NET app. It will run on any platform which can run Mono, or Microsoft.NET, or even dotGNU Portable.NET:

            Code:
            public class Hello1
            {
               public static void Main()
               {
                  System.Console.WriteLine("Hello, World!");
               }
            }
            This is a UNIX-only app. It can only run on Linux or Mac OS or FreeBSD or Solaris or any UNIX-like OS supported by Mono or dotGNU Portable.NET, and cannot run on Windows, either with Mono for Windows or with Microsoft.NET. It is UNIX-only because it is calling into a C library only available for UNIX, libc.so (the core system C library):

            Code:
            using System;
            using System.Runtime.InteropServices;
            
            class PlatformInvokeTest
            {
                [DllImport ("libc.so")]
                private static extern int getpid ();
            
                public static void Main() 
                {
                    Console.WriteLine( getpid () );
                }
            }
            This is a Windows-only app. It cannot run on any OS except Windows - however, it can use Microsoft.NET, or Mono on Windows. It also runs on Wine, if you have a .NET framework for Windows installed in Wine. It is Windows-only because it is calling into a C library only available for Windows, msvcrt.dll (the Visual C++ Runtime):

            Code:
            using System;
            using System.Runtime.InteropServices;
            
            class PlatformInvokeTest
            {
                [DllImport("msvcrt.dll")]
                public static extern int puts(string c);
                [DllImport("msvcrt.dll")]
                internal static extern int _flushall();
            
                public static void Main() 
                {
                    puts("Test");
                    _flushall();
                }
            }
            Mono on Linux can already handle cases 1 and 2. This post is a means to simplify the execution of number 3, by allowing some integration of Mono inside Wine, so Wine can execute Windows-only .NET apps.

            Comment


            • #7
              directhex, thanks for your explanation!

              Comment


              • #8
                The solution to this problem is extremely simple;
                Code:
                echo "exclude=*wine* mono-*" >> /etc/yum.conf; yum -y remove *wine* mono-*

                Comment


                • #9
                  Nice, how do I install this?

                  Comment


                  • #10
                    Nobody wants mono djeez!!
                    Somebody really isn't getting it.

                    Comment

                    Working...
                    X