下载一个二进制文件,关闭当前的并启动新的
Download a binary, close the current one and launch the new one
如果存在这个问题,我很抱歉,我在谷歌搜索时无法具体找到这种情况,坦率地说,我什至不确定要使用什么标签。
我正在开发一个带有启动器的解决方案。但是有一个问题:我的团队不想让启动器和实际程序成为两个不同的二进制文件,我认为这是一个概念错误。
无论哪种方式,他们都不会改变主意,所以我们将继续这样做。
我的 "launcher" 部分程序目前已成功在我们的服务器上获取新版本。
但是,我希望能够在下载新版本后立即退出当前二进制文件,删除旧版本,启动新版本。
最重要的是,它是多平台的。
现在,如果我没记错的话,我认为在 linux 上,很有可能删除硬盘驱动器上的二进制文件,因为它在内存中运行。但是,我真的非常不确定是否可以在 Windows 上完成。
是否可以删除 windows 当前 运行 的程序,并指示以某种方式启动新程序?
告诉我你的想法。在我看来,这听起来确实不可行,但如果可以做到,我真的很想知道怎么做。
至少,如果无法在 OS 上完成,我将向我的团队展示答案。
提前谢谢您,对于非常模糊的 "what if" 问题等等,我们深表歉意。
我同意你的看法,这可能不是个好主意。之前提过这个问题。
How can a C++ binary replace itself?
答案包括如何在 Windows 上执行此操作的说明,其中 "shim" 的使用允许您使用启动器执行您描述的操作,而无需实际自行开发此启动器。
如果存在这个问题,我很抱歉,我在谷歌搜索时无法具体找到这种情况,坦率地说,我什至不确定要使用什么标签。
我正在开发一个带有启动器的解决方案。但是有一个问题:我的团队不想让启动器和实际程序成为两个不同的二进制文件,我认为这是一个概念错误。
无论哪种方式,他们都不会改变主意,所以我们将继续这样做。
我的 "launcher" 部分程序目前已成功在我们的服务器上获取新版本。 但是,我希望能够在下载新版本后立即退出当前二进制文件,删除旧版本,启动新版本。
最重要的是,它是多平台的。
现在,如果我没记错的话,我认为在 linux 上,很有可能删除硬盘驱动器上的二进制文件,因为它在内存中运行。但是,我真的非常不确定是否可以在 Windows 上完成。
是否可以删除 windows 当前 运行 的程序,并指示以某种方式启动新程序?
告诉我你的想法。在我看来,这听起来确实不可行,但如果可以做到,我真的很想知道怎么做。 至少,如果无法在 OS 上完成,我将向我的团队展示答案。
提前谢谢您,对于非常模糊的 "what if" 问题等等,我们深表歉意。
我同意你的看法,这可能不是个好主意。之前提过这个问题。
How can a C++ binary replace itself?
答案包括如何在 Windows 上执行此操作的说明,其中 "shim" 的使用允许您使用启动器执行您描述的操作,而无需实际自行开发此启动器。