1

我有一个 7 zip 自解压 exe,它的存档如下所示:

[mainfolder]
         start.exe (a C++ bootstrapper)
         [subfolder] (contains all my applications assemblies and executable

现在我的 config.txt 正在运行 start.exe(通过“RunProgram”),它将实际运行 [子文件夹] 中的可执行文件。现在这失败了,因为在“start.exe”启动时,[子文件夹]中的所有文件的提取仍未完成(我确实在提取位置找到了所有文件)。

另一件奇怪的事情是,如果我完全指定在配置文件中的子文件夹内运行 exe,即“运行程序”,或者我什至指定一个随机文本到“运行程序”,那么 [子文件夹] 中所有文件的提取就完成了。提取完成。

如果更喜欢在 [mainfolder] 中运行文件会导致 [subfolder] 被不完整地提取,这可能是什么?请帮忙。

4

1 回答 1

1

这是一个错误的分析,问题不在于提取……它一直在正确提取。但是当我试图调用引导程序时,它曾经调用另一个 exe 并退出,所以 SFX 认为该进程已完成执行并正在删除文件。

因此,当有来自 diff 应用程序的调用链时,应注意至少您开始的应用程序(通过“RunProgram”、“ExecuteFile”或任何东西......)在所有需要的应用程序退出之前保持活动状态。

于 2014-09-15T12:02:45.390 回答