在 windows 系统上使用 wine 安装软件

在 windows 系统上使用 wine 安装软件

是否可以通过让 WINE(不是模拟器)写入 Windows 自己的注册表并在 WINE 以及 Windows(xp)下使用该软件来在 Windows 机器上的 *nix 系统内安装软件。

编辑:我特别谈论双启动系统,其中 windows 分区安装在 linux 中并且可以被 wine 访问。我已经考虑过在 windows 中安装,在切换到 linux 之后只是为了覆盖文件安装,从而产生两个不同的注册表,这样可以吗?

答案1

不可以,在大多数情况下,无法从客户机 (*nix) 操作系统中将软件安装到主机操作系统。这只是由于虚拟机中的沙盒(文件以及注册表等)造成的。(我不得不假设您谈论的是虚拟机的情况,因为这个问题不太清楚)。

如果您需要在主机系统上安装应用程序,然后将其与客户机共享,那么这可能是可行的。通过启用文件夹共享,您可能能够访问安装应用程序的可执行文件。

答案2

尽管 wine 最初被设计为能够使用完整的 Windows 安装,但这样做是个非常糟糕的主意。因此两个注册表将是分开的。

然而,根据您运行的软件,它实际上可以工作。

如果你在 Windows 上安装了一款游戏,然后在 Wine 中重新安装它,在同一个地方,那么游戏很可能永远不会在安装后更新注册表,并且两个系统上的数据都是相同的,一切都会保持“同步”,所以它很有可能会起作用(我过去自己也这样做过)。

但软件配置的存储位置可能会导致问题。两个注册表都不同,文件系统是共享的,因此我们希望系统相关配置(如图形设置)存储在注册表中,独立内容(如键绑定)存储在磁盘上。

如果您尝试更新应用程序,并且此类更新对文件应用增量补丁(而不是覆盖)并使用补丁信息更新注册表,您也可能会遇到麻烦。如果是这样,您将不得不进行一些文件交换来修补两者。如果它只执行其中一个,那么您就清楚了。

或者,还有另一种解决方案,也取决于在 wine 中运行的软件。

您可以使用 wine 前缀(默认情况下为 WINEPREFIX=~/.wine)来告诉 wine 在哪里存储其数据。这样就可以初始化独立的“windows”实例。wine 所需的一切(WRT 每个实例)都包含在这个前缀中。

因此,完全有可能在多个非同时运行 wine 安装,无论是在同一个操作系统上,还是在两台不同的计算机上(前缀位于共享存储上,如 NFS),还是在共享一个分区的两个双启动操作系统上。

我不知道 Windows 上 wine 的当前状态是什么(是的,你可以在 Windows 上运行 wine!),但如果它运行良好,你确实可以在 Linux 上的 wine 和 Windows 上的 wine 之间共享前缀。

唯一困扰我的部分是特定于操作系统的东西,比如定义前缀内的驱动器号的符号链接,或者声音输出配置(存储在 wine 注册表中)。

总而言之,它可以工作(并且工作得很好),但这在很大程度上取决于您将运行的软件,而这里的一些小技巧和黑客技术(脚本,挂载点,符号链接......)可能正是使软件正常运行所需要的。

相关内容