Ubuntu 20.10:wine-6.2 搭配 WOW64 和 32 位或 64 位程序安装
创建 64 位 wine 前缀时,它会创建一个带有“Program Files (c86)”的目录结构。
我可以在其中启动 32 位程序,但我总是收到提示,告诉我可能会出错,因为我使用了 64 位前缀。虽然没有明显的错误。
最重要的是,当我将 32 位程序安装到此前缀中时,我应该使用 wine 还是 wine64?如果我使用 wine,它会使用“Program Files (x86)”还是为 64 位架构上的 64 位程序保留的默认“Program Files”?
完全不清楚如何使用 64 位架构和 32 位应用程序/安装。关键是,我想要安装的一些程序有 64 位安装程序,但使用 32 位启动器,并且通常安装在“Program Files (x86)”中。
我的目标是为所有需要 wine 的应用程序运行一个 signel Prefix。这主要用于游戏目的。
如何启动前缀桌面 WOW64,同时兼容 32 位和 64 位应用程序?
将我需要的所有内容安装到这个唯一的前缀中的最佳方法是什么,而无需有关 64 位前缀的提示?
除了 64 位,我别无选择。我的前缀应该位于 HOME/user/wine64/
28/02/21
我发现我必须使用 wine64 才能在我创建的 x64 前缀中运行 exe。即使这个是 32 位的,例如 Steam 设置。
'WINEARCH=win64 WINEPREFIX=/$HOME/.local/share/wineprefixes/Win64DXVK wine64 浏览器'
我是新手,但对我来说,winetricks 运行某些命令时使用的是 wine 而不是 wine64,因为它们是 32 位应用程序。所以我的问题是,如果是这样,是否有一个 winetricks 版本可以使用 wine64 而不是 wine 来运行所有命令?
我正在寻找如何直接通过 wine64 工作,因为 winetricks 给了我这些错误提示关于 WINEARCH 64。
WINEARCH=win64 WINEPREFIX=/$HOME/.local/share/wineprefixes/Win64 winetricks
当我直接使用前缀时,我可以让事情以某种方式工作。但如果我也能在完整的 WOW64 环境中使用 winetricks,那对我来说会更容易。
答案1
我在学习如何手动安装旧版 Wine 而不必处理 Apt-Get 存储库和所有那些无用的东西时也遇到了同样的问题。步骤如下。
在 Debian/Ubuntu 系统存储库中安装比最新版本更旧或不同的 Wine 版本是一件非常麻烦的事。
计划 B:如果可能的话,考虑转到 Manjaro。为什么?因为 Manjaro 版本的 Wine 软件包捆绑在一个软件包中,您可以使用单个命令安装它:
sudo pacman -U /local_path/wine-staging-5.1-1-x86_64.pkg.tar.zst
or, in the case you miss dependencies..
sudo pacman -Sy /path/wine...
(I think that's the command... I'm not in Manjaro right now,
the Sy command will download the dependencies for you
WITHOUT performing a full system upgrade, only the packages you need...
pacman -U is the equivalent of sudo dpkg -i , for manual install)
好的。如果您无法转到 Arch/Manjaro,以下是在基于 Debian/Ubuntu 的发行版上手动安装旧版本 Wine 的步骤:
- 假设您要安装 Wine 版本 4.1(Wineprefix 大小从 100 MB 直接增加到 600 MB 之前的最后一个 Wine 版本之一,没有任何额外的好处,也没有避免过去 10 年常见的错误...)
转到https://dl.winehq.org/wine-builds/
并下载所有名称中包含 4.1 的软件包(它们应该具有相同的日期)
对于 Wine 4.1(我发现的最佳版本),这些就是您需要的软件包。您总共需要五个软件包。
winehq-staging_4.1_buster_amd64.deb
wine-staging_4.1_buster_amd64.deb
wine-staging_4.1_buster_i386.deb
wine-staging-amd64_4.1_buster_amd64.deb
wine-staging-i386_4.1_buster_i386.deb
- 安装顺序。这是最棘手的部分,第一次安装后,下次应该会更容易。首先,始终安装最大的 i386 包。然后,安装小的 i386 包。然后,安装大的 amd64 包和小的 amd64 包。最后安装的应该是 winehq(仅以 amd64 格式提供)
下面是我的 bash 历史记录的副本,其中列出了我在最短时间内执行此操作时使用的命令顺序。
sudo dpkg --add-architecture i386
sudo apt-get update
sudo dpkg -i /path/wine-staging-i386_4.1_buster_i386.deb
sudo apt-get install -f
sudo dpkg -i /path/wine-staging_4.1_buster_i386.deb
sudo apt-get install -f
sudo dpkg -i /path/wine-staging-amd64_4.1_buster_amd64.deb
sudo apt-get install -f
sudo dpkg -i /path/wine-staging_4.1_buster_amd64.deb
sudo apt-get install -f
sudo dpkg -i /path/winehq-staging_4.1_buster_amd64.deb
sudo apt-get install -f
sudo apt-get update
...
winecfg <used to create the initial Wine prefix>
<use these ones below to reassure that you have all libs installed correctly>
...
WINEPREFIX=~/.wine32 WINEARCH=win32 winecfg <to test if 32-bit is working OK>
WINEPREFIX=~/.wine64 WINEARCH=win64 winecfg <to test if 64-bit is working OK>
<you should not see errors in the terminal of the type
"but the wrong architecture is being used" >
注意你需要如何运行
sudo apt-get install -f
每次安装每个软件包时。这将确保在安装下一个软件包之前,安装和配置每个软件包的各个依赖项。(这仅在您第一次执行此操作时才需要……之后,您可以将所有这些依赖项放在备份位置,然后使用 sudo dpkg -i /path/*.deb 一次性安装它们)
有时,我不明白为什么会发生这种情况,您将无法使用 Wine 64 位,或者您将无法使用 Wine 32 位,两者之一。如果发生这种情况,只需重新安装其中一个大型 Wine 软件包(取决于您是否需要 amd64 或 i386)
sudo dpkg -i /path/wine-staging-amd64_4.1_buster_amd64.deb
很不幸,Wine 在 Debian/Ubuntu 系统上以这种方式分发,这是一个过于复杂的过程,浪费了大量的时间。Manjaro 的做法应该成为 Wine 从现在开始的官方分发方式。