2016-06-09 50 views

回答

2

這裏的問題是,該由物業MsiLogFileLocation是隻讀的,即你有沒有機會內 Windows安裝程序包更改日誌文件的位置。
有一些替代方案,但:

  • ,如果你與/L-parameter運行Windows Installer可以定義日誌文件的位置,例如msiexec.exe /i MyPackage.msi /l*v "C:\path\to\log\logfile.log"
  • 爲了確保例如客戶會用正確的參數調用這個參數,你必須用你的MSI文件創建一個引導程序, burn
  • 還有另一個更簡單的解決方案(我自己使用的)是:讓Windows Installer將整個安裝過程記錄到需要的任何位置。由於您始終可以使用MsiLogFileLocation -property訪問創建的日誌文件的完整路徑,因此只需將日誌文件作爲安裝過程的最後一步複製到任意位置即可。這裏唯一的缺點是:有時最後一行會丟失,因爲它在安裝完成之前被複制。

因此,如果最後一行並不總是重要的(因爲您進一步解析日誌文件等),最後的解決方案可能是最簡單的一個。
我安排在InstallFinalize之後(並使用條件NOT (REMOVE="ALL" AND NOT UPGRADINGPRODUCTCODE),順便說一句,否則它覆蓋或複製太多或...(不記得))。

+0

我的結論是你提到的第三種選擇,帶有缺點。 –