2016-05-13 56 views
0

我的應用程序使用了Inno Setup安裝程序。應用程序正在後臺運行。這意味着,當我升級應用程序(在舊版本上安裝新版本)時,我需要安裝程序關閉此應用程序,因此所有文件都可能會被正常替換。即使在安裝失敗時,強制Inno安裝程序也能創建日誌

但似乎有時它不能以某種未知的理由關閉應用程序。爲了得到理由,我想記錄下來。問題是,由於安裝程序無法替換文件,用戶會收到錯誤消息,從而導致安裝程序無法完成。 Inno Setup只有在成功完成安裝後才寫入日誌。

實際的問題是 - 最後陳述是否正確,或者有沒有辦法配置Inno Setup安裝程序,所以它會在中止安裝時創建日誌文件?我有想法使我自己的手動日誌文件,這將在安裝開始時創建,每更新一次方法執行,但我不想重新發明輪子。

回答

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
+0

在哪裏可以找到這個日誌?我剛開始安裝,但登錄文件夾似乎是舊的(從以前的成功安裝)。 – lentinant

+0

好的,我找到了這個,謝謝。一直以爲,實際日誌是應用程序根目錄下的InstallationLogFile。現在有幾個額外的問題 - 可以在安裝程序中獲取日誌文件的名稱嗎?所以我可以將它複製到某個特定的文件夾。 – lentinant

+0

沒有獲取日誌路徑的直接支持。對於使用'/ log'指定的日誌,您可以解析安裝程序命令行。對於自動日誌,您可以嘗試查找匹配'%TEMP%\ Setup Log * .txt'的最新文件。 –

相關問題