2015-02-06 109 views
1

默認情況下,編譯Setup.exe時Inno Setup在編譯前不會刪除現有文件,這意味着修改日期可能與創建日期不同除非記住在編譯之前手動刪除Setup.exe。將日期和時間設置爲相同的最佳方式是什麼?我可以想到兩種可能的方法來做到這一點。一種方法是在編譯結束時在代碼部分使用TouchDateTouchTime函數,另一種方法是在編譯之前使用ISSP部分自動刪除Setup.exe。我不完全確定ISSP選項是否可行,但哪種方法最簡單,更可取?有沒有人有任何建議,我應該採取哪種方法,還是有另一種選擇,我忽略了?Inno安裝程序設置Setup.exe創建日期和修改日期相同

回答

1

這很可能是所謂的file tunelling的後果,它與Inno Setup無關。解決辦法之一是製作一個批處理腳本,它將運行編譯器並在編譯後觸及時間戳(預編譯器無法執行此操作,因爲它在編譯之前運行)。

+0

嗯,我不確定這是不是問題。如果我在運行編譯器之前刪除了Setup.exe,我會得到匹配的日期和時間。只有當文件已經存在時,我纔會遇到不匹配的情況。我可以使用'DeleteFileNow'。看來這將是最簡單的解決方案? – 2015-02-06 16:11:10

+0

嗯,看起來就是這樣。已經在ISSP部分嘗試過'#expr DeleteFileNow(SourcePath +「Output \ Setup.exe」)',這沒什麼區別。它只在我運行編譯之前手動刪除文件時才起作用。煩! – 2015-02-06 16:58:46

+1

當您單擊編譯文件設置爲鎖定時,ISSP無法使用DeleteFileNow刪除此文件。您可以刪除任何其他文件,但不能刪除您編譯的文件。看來批處理腳本是最簡單的解決方案。 – RobeN 2015-02-06 18:14:35

相關問題