使用Wine运行.Net 4.0应用程序

我试图在Ubuntu 14.04 LTS下运行Wine中的一个简单程序,但它抱怨说

fixme:mscoree:parse_supported_runtime sku=L".NETFramework,Version=v4.0" not implemented fixme:mscoree:parse_probing privatePath=L"assemblies" not implemented The entry point method could not be loaded 

尝试手动安装.Net 4.0会在安装程序中产生错误,说已经安装了.Net 4.0。

运行winetricks forcemono

 ------------------------------------------------------ You are using a 64-bit WINEPREFIX. If you encounter problems, please retest in a clean 32-bit WINEPREFIX before reporting a bug. ------------------------------------------------------ Executing w_do_call forcemono Executing load_forcemono Using native override for following DLLs: mscoree Executing winetricks_early_wine regedit C:\windows\Temp\_forcemono\override-dll.reg Using override for following DLLs: mscorsvw.exe Executing winetricks_early_wine regedit C:\windows\Temp\_forcemono\override-dll.reg 

然后尝试再次启动相同的应用程序仍将失败

 err:module:import_dll Library mscoree.dll (which is needed by L"Z:\\home\\\\tmp\\saveedit_r237\\Gibbed.Borderlands2.SaveEdit.exe") not found err:module:LdrInitializeThunk Main exe initialization for L"Z:\\home\\\\tmp\\saveedit_r237\\Gibbed.Borderlands2.SaveEdit.exe" failed, status c0000135 

我尝试过Wine 1.6和1.7.30并且都失败了。 .Net 4.0实际实现了吗? 还是部分实施? 有没有办法让这个.Net 4.0应用程序工作?

更新

Winetricks抱怨dotnet40无法安装在64位系统上。 那么,我该如何安装呢?

首先,请注意这个非常明显的警告:

 ------------------------------------------------------ You are using a 64-bit WINEPREFIX. If you encounter problems, please retest in a clean 32-bit WINEPREFIX before reporting a bug. ------------------------------------------------------ 

这表明你需要创建一个32位的Wineprefix ,因为Wine可以更好地处理32位的东西 – 这可以通过在运行命令之前运行告诉wine使用什么架构来完成(我认为这也可以通过卸载Wine x86_64并安装来完成) Wine i386 / i686 – 无论如何,在运行之后保持终端打开其他wine命令)

 export WINEARCH="win32" 

这会在葡萄酒读取之前设置环境变量(参见man wine )。

让它创建自己的WINEPREFIX(存储Wine虚拟驱动器的位置)也是一个好主意。 默认情况下这是~/.wine ,但您可以为每个体系结构和程序创建单独的 – 以便在目录/home/USERNAME/.wine-PROGRAM-NAME/创建/home/USERNAME/.wine-PROGRAM-NAME/

 export WINEPREFIX=~/.wine-PROGRAM-NAME/ 

该目录不一定存在(理想情况下它不应该存在,所以不必覆盖东西),但父目录可能应该 – 你应该也有权读取和写入它,我不认为wineprefix可以出于技术原因在FAT / NTFS驱动器上(它不起作用)

因此,要为程序设置32位葡萄酒前缀:

 export WINEARCH="win32" export WINEPREFIX=~/.wine-PROGRAM-NAME/ wineboot -u 

您可以将PROGRAM-NAME替换为PROGRAM-NAME ,以便以后更容易识别程序。 只需确保它只包含字母和数字,因为标点符号在各种命令shell中通常具有特殊function。

然后你应该得到一个这样的窗口:

wineprefix正在更新....

然后你准备好了。 现在您可以使用winetricks安装.NET 4.0(您可能希望先从此处获取最新版本):

 winetricks dotnet40 

这应该在export WINEPREFIX=...命令后的终端中,或者将它放在wine命令之前,因为这对于应用程序启动器一个命令行非常有用

 env WINEPREFIX=~/.wine-PROGRAM-NAME/" winetricks dotnet40 

您可能还想使用winetricks来安装它可能需要的其他东西 – 例如字体(使用选项corefontslucidatahoma )。 要列出winetricks的选项,请使用winetricks list-all

然后,您可以使用wine "~/Downloads/PATH/TO/INSTALLER.exe" 。 再次(复制文件,然后’粘贴文件名’到终端,所以它看起来像'/home/wilf/Desktop/name spaces/installer.exe'而不是file:///home/wilf/Desktop/name spaces/installer.exe'

在运行此命令之前,您应该确保已导出WINEPREFIX(特别是如果您关闭了终端),或者在同一行中。 在让它工作(或不工作)之后,您可能想要报告它在这里的工作情况 (包括您做了什么等,以便您可以帮助其他人)。 如果您遇到问题,输出中会出现明显的错误,您可以报告错误 。

安装后,它应该使应用程序的启动器出现在Dash / Menu上,有时也会出现在桌面上。 否则将来运行应用程序你可能需要再次使用export WINEPREFIX=...wine .... (或env WINEPREFIX=... wine ..... )运行应用程序,除非你创建一个启动器(如果你需要知道怎么做,请在下面或某处评论….)


更多信息,故障排除等

如何安装winetricks?

您可以使用此命令从Ubuntu存储库获取版本(或从软件中心安装Winetricks):

 sudo apt-get install winetricks 

然后你可以使用winetricks OPTIONS来做东西。

对于最新版本,您可以使用这些命令下载并使用最新版本:

 wget https://raw.githubusercontent.com/Winetricks/winetricks/master/src/winetricks chmod +x winetricks 

请注意,您必须将其作为./winetricks ,除非它的目录位于shell的$PATH

我不想使用终端,我该怎么办?

您想要使用的应用程序可以在PlayOnLinux下运行 (如果您可以在此处找到它应该是这样) – 这几乎是所有GUI并自动为您执行大部分步骤。

否则,你可以使用终端轻松地完成它(你通常比GUI程序更多地控制它),只要小心你放入的内容(特别是如果它包含命令sudorm等)。 尝试先了解每个命令的动态。

此外,其中一些步骤可以通过其他方式完成 – winetrickswinetricks打开GUI,您可以通过它们执行一些步骤,但是您可以做的事情也是有限的。

如何安装最新的Wine版本?

较新的葡萄酒版本更新,因此可以更好地运行程序(除非有影响它的回归)。 要安装当前的最新版本(Wine1.7),您可以使用官方的Wine PPA :

 sudo apt-add-repository ppa:ubuntu-wine/ppa sudo apt-get update sudo apt-get install wine1.7 

如果找不到wine1.7包,请尝试再次运行install命令但是使用wine而不是wine1.7

一般来说,为了安装和配置Wine,您也可以尝试这个问题 。

我想要使​​用的程序是为较新版本的Windows设计的,我该怎么办?

Wine默认复制Windows XP,有些程序不支持,因为它是EOL(我认为它很方便,因为你可能可以在Linux下的Wine下运行WinXP程序,你可以’从轨道上运行WinXP’:)

无论如何,首先打开Wine配置窗口:

 export WINEPREFIX=~/.wine-PROGRAM-NAME/ winecfg 

其中~/.wine-PROGRAM-NAME/是您之前创建的WINEPREFIX。

并在“应用程序”选项卡底部选择要复制的Windows版本。 然后尝试再次安装该应用程序。

葡萄酒下的WINDOWS病毒?!?!

很可能 。 不要安装互联网的随机软件,尽量确保它来自可信站点。