也许我的问题完全错了,但这是我想到的第一件事。
所以,我有两个流程(两个exes) - 让我们称之为 A 和 B 。流程 A 在单独的工作目录中启动处理 B 作为分离流程(Qt' s QProcess::startDetached()
)。在某些时候, B 决定更新 A 。它向它发送一个信号并 A 退出(QApplication::quit()
)。之后 B 下载文件并尝试将其替换(解压缩)到 A 的文件夹,但解压缩失败。我用来解压缩的库( quazip )没有任何错误 - 它只是失败了。另一个有趣的事情 - 在解压缩过程中删除 A 文件夹中的某些文件。
这是我项目的结构:
流程A :a.exe
使用1.dll
,2.dll
,3.dll
流程B :b.exe
使用1.dll
,2.dll
这些dll是相同的,但它们被复制到不同的文件夹 - A 和 B 的文件夹。其中一个dll用于通过套接字/服务器进行通信。另一个dll使用外部变量(不知道 - 可能它以某种方式相关)。
该zip文件具有相同的a.exe
,1.dll
,2.dll
,3.dll
个文件。 B 无法将某些文件解压缩到 A 的文件夹,但该文件夹中的某些旧文件会被删除。根据任务经理 A 未运行,zip文件绝对正确。
我的操作系统是Windows 7。