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已添加日志,很抱歉延迟