使用 mono 启动“Setup.exe”或定义 drive_c

使用 mono 启动“Setup.exe”或定义 drive_c

我尝试在 Ubuntu 上安装 Windows 程序。此程序需要 .NET40。

据我所知我有两个选择:

  1. 我使用wine,安装winetricks和使用winetricks dotnet40以及所有使用 win32 架构的东西(因为 dotnet40 只能安装在 32 位上)。通过 成功安装wine Setup.exe并尝试使用 启动应用程序后,wine Program.exe我收到奇怪的错误框,因此我尝试了第二种方法。

  2. 我安装了单声道。

    1. 如果我尝试拨打电话,mono Setup.exe我会得到:

      Cannot open assembly 'Setup.exe': File does not contain a valid CIL image.
      

      我在其他地方读到过,无法使用单声道运行设置。有没有办法用 mono 来运行设置?

    2. 我调用Setup.exewhich wineworks,然后尝试用 启动已安装的程序mono Program.exe。但现在程序找不到所需的资源。是否有可能告诉 Mono 安装的文件放在哪里?

答案1

您需要安装 wine-mono 包,并使用 wine 运行它。

sudo apt-get install wine-mono
wine ./Setup.exe

除非您使用 GNU/Linux 开发 C# 应用程序,否则最好远离该mono应用程序。在很多情况下,plainmono不起作用,而 wine 却可以。这通常是由于 .net 应用程序使用一些原生 Windows 库而不是坚持使用 C# 库造成的。您可以责怪开发人员,您是对的,因为他们下次必须考虑一下,至少使用 Qt 和 C++,或者其他灵活且跨平台的东西。但是,只是让您知道:使用 Windows 编程是一堆变通方法,而且令人惊讶的是,C# 是为了符合旧的 WinAPI 而制作的(刚刚包装到.net)而不是修复它的失败。

相关内容