Force Inno Setup即使在安装失败时也能创建日志

时间:2016-05-13 10:25:49

标签: inno-setup

我有Inno Setup安装程序的应用程序。应用程序正在后台运行。这意味着,当我升级应用程序(在旧版本上安装新版本)时,我需要安装程序来关闭此应用程序,因此所有文件都可以正常替换。

但似乎有时它因某些未知原因无法关闭应用程序。为了得到理由,我想记录下来。问题是,由于安装程序无法替换文件,因此用户会收到错误消息,从而导致安装程序无法完成。只有在成功完成安装后,Inno Setup才会写入日志。

实际问题是 - 最后一个语句是否正确,或者是否有办法配置Inno安装程序安装程序,因此即使在中止安装时它也会创建日志文件?我有想法制作我自己的手动日志文件,它将在安装开始时创建,并在每次执行某些方法时更新,但我不想重新发明轮子。

1 个答案:

答案 0 :(得分:1)

  

Inno Setup仅在成功完成安装后才写入日志。

不,这不正确。

安装程序启动后,即使最终失败,也会立即启动日志。

所以总是会有一些日志(如果已启用),无论如何。

安装程序窗口打开的那一刻,日志看起来像是:

2016-05-13 12:30:45.712   Log opened. (Time zone: UTC+02:00)
2016-05-13 12:30:45.712   Setup version: Inno Setup version 5.5.9 (u)
2016-05-13 12:30:45.712   Original Setup EXE: C:\path\mysetup.exe
2016-05-13 12:30:45.712   Setup command line: /SL5="$C0338,134364,121344,C:\path\mysetup.exe" /SPAWNWND=$200C5A /NOTIFYWND=$110C08 /log=install.log
2016-05-13 12:30:45.712   Windows version: 10.0.10586  (NT platform: Yes)
2016-05-13 12:30:45.712   64-bit Windows: Yes
2016-05-13 12:30:45.712   Processor architecture: x64
2016-05-13 12:30:45.712   User privileges: Administrative
2016-05-13 12:30:45.712   64-bit install mode: No
2016-05-13 12:30:45.712   Created temporary directory: C:\Users\martin\AppData\Local\Temp\is-K3VS6.tmp

仅在以下情况下创建日志:

  • 您使用/log=c:\path\setup.log开关(正如您在上面的日志中看到的那样)或
  • 来要求它
  • 使用SetupLogging=yes directive强制执行日志,在这种情况下,日志是在%TEMP%\Setup Log yyyy-mm-dd #xxx.txt中创建的。