【发布时间】:2022-01-14 14:50:00
【问题描述】:
对于自建安装程序,我需要一种在关闭应用程序本身后执行代码的方法。
应用结构
- 主应用程序:安装程序在需要时从它启动,并在此过程中自行关闭。
-
安装程序: 这也位于主应用程序的文件夹中,因此也可以访问所有
dll文件。当有可用更新时,首先会下载zip文件,然后将其解压缩到temp文件夹中。之后,所有文件都从那里移动到共享应用程序目录。
问题
问题是更新程序在运行时只能更新少数自己不使用的dll文件,因为有些是由于安装程序的访问而被写保护的。
解决方案
必须在关闭安装程序后将文件从临时文件夹移动到共享应用程序文件夹。但我不知道如何意识到这一点。
非常感谢!
【问题讨论】:
-
您也许可以使用
QProcess(或等效的 Win32 API)来启动运行 shell 脚本(或等)的独立进程。 shell 脚本可以等到安装程序退出后,然后进行必要的文件移动。 -
安装程序(也可能是应用程序)可以静态链接,因此它们不依赖于任何 DLL,除了 Windows 附带的那些。我已经为 Windows 制作了大约 16 MB 的静态链接 Qt GUI。