Inno Setup 在静默安装期间将锁定文件替换推迟到下一次重新启动

Inno Setup Postpone locked file replacing to the next restart during silent installation

Inno Setup 安装程序 (5.5.1(a)) 在升级期间 .exe 正在被替换。当exe被锁定时,它显示错误

DeleteFile failed; code 5.
Access is denied.
Abort, Retry, Ignore

如何在静默升级期间抑制消息,请帮助我。默认情况下,在静默安装期间,它应该采用 Ignore 选项而不会出现任何错误。

.

大多数时候它无法替换您的可执行文件,因为该文件仍然是 运行。为什么不通过 BeforeInstall 终止该进程?

如果您的问题是因为您无权修改该文件,则此方法无济于事。

我认为 ignore/skip 该文件没有意义。我假设您需要在升级期间更换它,是吗?


您可以为静默和非静默安装设置不同的条目:

[Files]
Source: C:\path\MyProg.exe; Dest: {app}; Check: not WizardSilent
Source: C:\path\MyProg.exe; Dest: {app}; Flags: restartreplace; Check: WizardSilent