因此,我在 wineprefix 中安装了可以正常工作的 Java,这是我在 2017 年某个时候在 Ubuntu 16.04 上安装的。当时我安装了 wine-staging,并且必须静默安装 Java:
wine jre-8u161-windows-x64.exe /s
之后我升级到了 18.04,删除了 wine staging 并从 Ubuntu 存储库安装了 wine-devel(但我保留了 wineprefix)。所以我在 Ubuntu 18.04 上仍然有一个可运行的安装。
现在我试图在另一个 Ubuntu 18.04 系统上复制我的设置,但我无法再安装 Java。我尝试使用 Ubuntu wine-stable
(3.0)、wine-development
(3.6) 和 Wine Staging winehq-stable
(4.0)。它们都失败了。然后我尝试回到一个非常旧的 jre 安装程序 (8u25)。即使这样也失败了。
0036:err:ole:CoFreeUnusedLibrariesEx apartment not initialised
0034:err:msi:ITERATE_Actions Execution halted, action L"installexe" returned 1627
我是不是忘记了什么神奇的步骤,或者这只是一次回归/错误?
答案1
我最后只是复制整个 wine 前缀到另一台电脑。显然这不是一个理想的解决方案,但它在我的情况下有效。我只需要让 wine 重新创建链接,dosdevices
然后我就设置好了。
我不知道安装程序做了什么特别的事情,也许可以只制作一个包含所有文件的 tarball,让它们解压Program Files
并运行一个.reg
文件。也许我会在某个时候研究这个解决方案。
另一个可能的解决方案(如果你需要javaws.exe
)是开放网络启动。它在 Wine 中安装没有问题。但不幸的是,我无法获得.jnlp
运行所需的文件。我得到了应用程序的启动画面,但不幸的是它因这个错误而崩溃了,net.sourceforge.jnlp.LaunchException: Fatal: Initialization Error: Unknown Main-Class. Could not determine the main class for this application.
我没有尝试解决这个问题。