c++ - Win32 更新后重启应用
问题描述
在自我更新我自己的可执行文件(这里是我的库)时,我将其重命名为另一个文件(Windows 允许重命名正在运行的应用程序)并将更新的版本保存为旧名称。
因此,如果它app.exe
和应用程序被更新,它会将自己重命名为app.old
,并将更新app.exe
的内容放在适当的位置以在用户下次运行它时运行。
现在,有没有办法告诉 Windowsapp.exe
只要app.old
死就启动?我看到了,RegisterApplicationRestart()
但我不确定它是否会重新启动应用程序。我想要立即重启,这样更新对用户来说是透明的。
如果我开始app.exe
并尝试更新自己并app.old
正在使用中,它将无法自我重命名。app.exe
app.old
我可以传递一个命令行参数来app.exe
强制它不检查更新,但是 API 有办法吗?
编辑:我找到了这个,但它仅适用于 UWP。
解决方案
推荐阅读
- reactjs - 在运行时禁用 create-react-app webpack hot/live reload
- excel - 在 VBA 的列中返回匹配项
- javascript - 在 JSON 中为 React 表读取复杂表时需要帮助
- python - 在使用 Python 和一些 tcl 制作的 Canvas 和 Text 小部件中创建新类对象时出现问题?
- javascript - 从节点js中的html响应中获取值
- html - 自定义折叠导航栏(2 列,每列包含 2 列项目)
- python - dup2 恢复原始文件描述符
- firebase - 为什么我无法将电子邮件/密码链接到 Firebase Flutter 中 Google 登录提供商中存在的同一电子邮件?
- apache-spark - 无法使用 pyspark 加载镶木地板文件(不支持镶木地板类型:INT32 (UINT_8);)
- javascript - 如何使用 mongoDB 在下拉菜单中显示所选选项?