Ubuntu 能够.exe
使用 Wine 运行传统应用程序。但是,我确实有一些来自 Windows 应用商店的通用 Windows 平台 (以下简称 UWP) 应用程序(由.appx
和安装.msix
),我想运行它们。我目前使用 Windows 10 和 Ubuntu 16.04 的双启动设置,并且我主要只使用 Windows 来运行 UWP 应用程序。我真的很想用 Ubuntu 来做所有事情,而不必一遍又一遍地重启。
截至目前,WINE 不支持 UWP 应用。除了在 VMware 或 VirtualBox 中运行 UWP 应用外,还有其他虚拟设置(如 WINE)可以运行 UWP 应用吗?
答案1
至少对于某些应用来说,可以运行 UWP 应用。我已成功运行 Trello UWP 应用(仅可从 Microsoft Store 获取)。
首先,您需要获取 UWP 应用的 .appx 文件。无需 Windows 或 Microsoft Store 即可执行此操作的一种方法是使用此网站: https://store.rg-adguard.net/
将应用的 Microsoft Store URL 粘贴到网站中。例如,Trello 应用的 URL 是: https://www.microsoft.com/en-us/p/trello/9nblggh4xxvw
这将为您提供通过 Microsoft Store 提供的所有文件的链接。您只需要 .appx 文件,该文件可能有多个版本(例如 x86 和 x64)。
Chrome 并不想通过单击链接来下载文件。这让该网站一开始感觉有点可疑。在 Chrome 的 DevTools 控制台中,Chrome 表示它没有下载该文件,因为 Microsoft Store URL 使用 http://,而该网站使用 https://。但由于该文件直接来自 microsoft.com,所以我觉得很安全。
右键单击该链接,选择“将链接另存为”,然后选择“保留”,您就可以下载该文件,尽管 Chrome 反对。
获得 .appx 文件后,即可将其提取。它只是一个常规的 zip 文件,因此请运行类似unzip -d output-dir file.appx
或 的程序atool -x file.appx
。
解压的文件应该有一个名为“app”的目录,其中应该包含应用程序的可执行文件和其他文件。
对于 Trello 应用,只需wine Trello.exe
在“app”目录中运行即可。但如果在安装过程中发生更复杂的情况,其他应用可能无法立即运行。
答案2
不可以。目前,除了在虚拟机中运行之外,没有其他方法可以实现这一点。请求此功能的人数极少,我认为拥有技能且大部分时间可以实现这一点的人数接近于零。
答案3
基本上,这不是如何运行 UWP 应用程序的问题 - 而是如何在 Wine 中克隆 Linux 上的 Microsoft Store - 如果将在 Wine 上重新创建 Microsoft Store,那么您可以下载并安装任何 UWP 应用程序。它有点像这样: https://github.com/kkkgo/LTSC-Add-MicrosoftStore
答案4
理论上,在 Linux 上为 WINE 添加对 UWP 应用的支持可能涉及以下步骤:
彻底了解 UWP 应用使用的 Windows 运行时 API。这将涉及研究 API 文档并研究如何在 Windows 10 上构建和执行 UWP 应用。
深入了解 WINE 的内部结构,包括其架构以及它为在 Linux 上运行的 Windows 应用程序提供的功能。
开发一个兼容层来模拟 Windows 运行时 API 的功能,从而允许使用 WINE 在 Linux 上执行 UWP 应用。此兼容层可能需要用 C 或 C++(WINE 主要用这两种语言编写)来实现。
彻底测试兼容层,以确保它在使用 WINE 在 Linux 上执行 UWP 应用时提供必要的功能并正确运行。
将兼容层集成到 WINE 代码库中,并再次测试以确保它能与 WINE 的其余部分正常工作。
发布支持 UWP 应用的 WINE 更新版本,并供其他人使用。