我有一个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,即" RunProgram",或甚至我指定一个随机文本到" RunProgram"至少提取完成。
如果更喜欢在[mainfolder]中运行文件会导致[子文件夹]被不完整地提取出来?请帮忙。
答案 0 :(得分:1)
这是一个错误的分析,问题不在于提取..它一直在正确提取。但是当我试图调用bootstrapper时,它曾经调用另一个exe并退出,所以SFX认为该进程已经完成执行并且正在删除文件。
因此,当存在来自diff应用程序的调用链时,应该注意至少从你开始的应用程序(通过“RunProgram”,“ExecuteFile”或任何东西......)保持活着直到所有需要的应用程序退出。 / p>