我正在尝试多次运行一个应用程序,但这个应用程序在多次运行时通常不起作用,并且在打开新实例时会使所有其他实例崩溃/关闭。我试图实现的是以某种方式多次运行这个应用程序。该应用程序绑定到端口 2999,这意味着每个实例都需要自己的 IP。该应用程序还需要能够使用 gpu。
我看过 Windows Sandbox,但我认为没有办法以编程方式创建一个,而且它每次只允许打开一个沙箱,这限制每个服务器只能打开 2 个沙箱。
我也研究过 Windows docker 容器,但它们不允许任何显示输出。我还尝试过使用带有wine
x11docker 的 linux Docker 容器,但我一直收到应用程序目录中包含的一个 dll 的 dll 错误。(stub.dll failed to initialize
)
据我所知,Windows 容器和 Windows Sandbox 也不支持使用 GPU。
运行多个虚拟机也行不通,因为我认为没有办法让每个虚拟机共享一个 gpu,而且通过程序按需创建和启动虚拟机会花费太长时间。
我尝试使用命令通过不同的用户帐户运行应用程序runas
,但同样没有用。我尝试更改 .exe 文件名,认为它可能根据 exe 名称进行搜索,但同样没有用。
我研究过沙盒,但我认为没有适合它的命令行,因此我无法在其中运行游戏。
任何帮助都将不胜感激。如果您想知道我正在尝试运行什么。我正在尝试运行League of Legends
游戏不是客戶。
答案1
如果开发人员允许,按住“shift”键并单击应用程序,则可以多次运行该应用程序。限制不在 Windows 中,而是在程序本身中。如果英雄联盟的开发人员限制它在一台计算机上多次运行,那么这是有充分理由的。由于 LoL 是一款需要帐户的在线游戏,我猜是因为它让你无法使用不同的登录名运行多个实例,从而获得不公平的优势。我想这就是你想要做的。它行不通。