可以在 Ubuntu 上运行 Windows 10 UWP 应用程序吗?

可以在 Ubuntu 上运行 Windows 10 UWP 应用程序吗?

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 应用的支持可能涉及以下步骤:

  1. 彻底了解 UWP 应用使用的 Windows 运行时 API。这将涉及研究 API 文档并研究如何在 Windows 10 上构建和执行 UWP 应用。

  2. 深入了解 WINE 的内部结构,包括其架构以及它为在 Linux 上运行的 Windows 应用程序提供的功能。

  3. 开发一个兼容层来模拟 Windows 运行时 API 的功能,从而允许使用 WINE 在 Linux 上执行 UWP 应用。此兼容层可能需要用 C 或 C++(WINE 主要用这两种语言编写)来实现。

  4. 彻底测试兼容层,以确保它在使用 WINE 在 Linux 上执行 UWP 应用时提供必要的功能并正确运行。

  5. 将兼容层集成到 WINE 代码库中,并再次测试以确保它能与 WINE 的其余部分正常工作。

  6. 发布支持 UWP 应用的 WINE 更新版本,并供其他人使用。

相关内容