我正在使用deleteafterinstall
标志来表示某些临时文件,但是如果在Inno安装程序安装程序完成时它们仍被某个进程锁定,它们是否会安排在以后删除?
文档没有提到在这种情况下会发生什么:
deleteafterinstall
指示安装程序照常安装文件,但是 然后在安装完成(或中止)后删除它。这个 可用于提取程序所需的临时数据 在脚本的[运行]部分执行。
此标志不会导致在此期间未替换的现有文件 要删除的安装。
此标志不能与isreadme,regserver,regtypelib结合使用, restartreplace,sharedfile或uninsneveruninstall flags。
答案 0 :(得分:1)
我不确定你对答案有多么深刻的解释,但我认为最好的是跳到源代码中。因此,所有指定了deleteafterinstall
标志的文件都会添加到DeleteFilesAfterInstallList
集合中,该集合在设置被取消初始化时会被重复。那时,集合是iterated file by file
,并且对于该集合中的每个文件称为DeleteFileRedir
函数,它可以选择性地禁用WOW64重定向(对于这种情况不重要)并调用Windows API函数{{3 },它不执行延迟删除。