首页 > 解决方案 > Win32 更新后重启应用

问题描述

在自我更新我自己的可执行文件(这里是我的库)时,我将其重命名为另一个文件(Windows 允许重命名正在运行的应用程序)并将更新的版本保存为旧名称。

因此,如果它app.exe和应用程序被更新,它会将自己重命名为app.old,并将更新app.exe的内容放在适当的位置以在用户下次运行它时运行。

现在,有没有办法告诉 Windowsapp.exe只要app.old死就启动?我看到了,RegisterApplicationRestart()但我不确定它是否会重新启动应用程序。我想要立即重启,这样更新对用户来说是透明的。

如果我开始app.exe并尝试更新自己并app.old正在使用中,它将无法自我重命名。app.exeapp.old

我可以传递一个命令行参数来app.exe强制它不检查更新,但是 API 有办法吗?

编辑:我找到了这个,但它仅适用于 UWP。

标签: c++winapi

解决方案


推荐阅读