Inno setup 不要测试已存在的供Inno安装程序中的应用程序使用的文件

Inno setup 不要测试已存在的供Inno安装程序中的应用程序使用的文件,inno-setup,Inno Setup,我的安装程序应该跳过已经存在的更新程序文件,但是,它表示应用程序正在使用这些文件,安装无法继续 安装程序无法自动关闭所有应用程序。建议您使用安装程序需要更新的文件关闭所有应用程序,然后再继续 单击“重试”重试,单击“忽略”继续,或单击“中止”取消安装 安装脚本中的更新程序文件是这样导入的 Source: "..\bin\Release\updater\*"; DestDir: "{app}\updater"; Flags: onlyifdoesntexis

我的安装程序应该跳过已经存在的更新程序文件,但是,它表示应用程序正在使用这些文件,安装无法继续

安装程序无法自动关闭所有应用程序。建议您使用安装程序需要更新的文件关闭所有应用程序,然后再继续

单击“重试”重试,单击“忽略”继续,或单击“中止”取消安装

安装脚本中的更新程序文件是这样导入的

Source: "..\bin\Release\updater\*"; DestDir: "{app}\updater"; Flags: onlyifdoesntexist
根据文档,标志
onlyfdoesntexist
应确保将来不会修补文件

我甚至尝试删除除
更新程序
目录之外的所有文件,以确保这些文件是问题的根源。有什么想法吗

这是日志文件

2017-07-10 14:12:59.229   Log opened. (Time zone: UTC+02:00)
2017-07-10 14:12:59.229   Setup version: Inno Setup version 5.5.9 (u)
2017-07-10 14:12:59.229   Original Setup EXE: C:\Users\pikausp\AppData\Roaming\TMEgadget4\updater.exe
2017-07-10 14:12:59.229   Setup command line: /SL5="$F0962,149593,121344,C:\Users\pikausp\AppData\Roaming\TMEgadget4\updater.exe" /SPAWNWND=$140E9A /NOTIFYWND=$C0CAA /VERYSILENT
2017-07-10 14:12:59.229   Windows version: 10.0.14393  (NT platform: Yes)
2017-07-10 14:12:59.229   64-bit Windows: Yes
2017-07-10 14:12:59.229   Processor architecture: x64
2017-07-10 14:12:59.229   User privileges: Administrative
2017-07-10 14:12:59.229   64-bit install mode: No
2017-07-10 14:12:59.231   Created temporary directory: C:\Users\pikausp\AppData\Local\Temp\is-88HJM.tmp
2017-07-10 14:12:59.307   RestartManager found an application using one of our files: TMEgadget.Updater
2017-07-10 14:12:59.307   Can use RestartManager to avoid reboot? Yes (0)
2017-07-10 14:12:59.311   Starting the installation process.
2017-07-10 14:12:59.313   Shutting down applications using our files.
2017-07-10 14:13:29.359   Some applications could not be shut down.
2017-07-10 14:13:29.359   Message box (Abort/Retry/Ignore):
                          Setup was unable to automatically close all applications. It is recommended that you close all applications using files that need to be updated by Setup before continuing.
                          
                          Click Retry to try again, Ignore to proceed anyway, or Abort to cancel installation.
2017-07-10 14:13:34.796   User chose Abort.
2017-07-10 14:13:34.796   User canceled the installation process.
2017-07-10 14:13:34.796   Rolling back changes.
2017-07-10 14:13:34.797   Starting the uninstallation process.
2017-07-10 14:13:34.797   Uninstallation process succeeded.
2017-07-10 14:13:34.797   Deinitializing Setup.
2017-07-10 14:13:34.802   Log closed.

实际上,对
onlyifdoesntextist
进行评估并不是为了检查正在运行的应用程序所使用的文件

但是,这是评估的结果

因此,您可以像这样实施生存测试:

[文件]
来源:“..\bin\Release\updater\*”;DestDir:“{app}\updater”;支票:仅限外国纺织商
[守则]
函数onlyIfDeesnTextist:布尔值;
开始
结果:=不存在文件(ExpandConstant(CurrentFilename));
结束;


另一种方法是创造性地设置不包括
更新程序
文件夹中的文件。

。给我们看一个(单文件安装)的日志文件。@MartinPrikryl更新了问题,我想应该可以吧?我会在moment@MartinPrikryl已添加日志,很抱歉延迟