下载二进制文件,关闭当前文件并启动新文件

问题描述 投票:1回答:1

如果这个问题存在,我很抱歉,谷歌搜索时我无法专门找到这个案例,坦率地说我甚至不确定使用什么标签。

我正在开发一个带有启动器的解决方案。但是有一个问题:我的团队不想让启动器和实际程序有两个不同的二进制文件,我认为这是一个概念错误。

无论哪种方式,他们都不会改变主意,所以我们会这样做。

我的程序的“启动器”部分目前成功地在我们的服务器上获取新版本。但是我希望能够在下载新版本后立即退出当前二进制文件,删除旧版本,启动新版本。

除此之外,它还具有多平台性。

现在,如果我没记错的话,我认为在Linux上,它很可能在内存中运行时删除硬盘上的二进制文件。我真的,真的不确定它是否可以在Windows上完成。

是否有可能删除当前在Windows上运行的程序,并指示以某种方式启动新程序?

告诉我你的想法。在我看来,它听起来真的不可行,但如果可以做到,我真的很想知道如何。至少,如果无法在任何一个操作系统上完成,我只会向我的团队展示答案。

提前谢谢你,对于非常模糊的“假设”等问题感到抱歉。

c++ linux windows cross-platform
1个回答
1
投票

我同意你的观点,这可能不是一个好主意。之前提出过这个问题。

How can a C++ binary replace itself?

答案包括如何在Windows上执行此操作的说明,其中使用“shim”允许您使用启动器执行您所描述的操作,而无需自己开发此启动器。

© www.soinside.com 2019 - 2024. All rights reserved.