0

我使用下面的命令來啓動從命令提示符我安裝:由於我使用/l*v選項,安裝程序會自動顯示我有它作爲「顯示窗口標籤的完成屏幕上的複選框如何在installshield嚮導完成屏幕上顯示安裝程序日誌文件?

msiexec /i "myproduct.msi" /l*v install.log 

安裝程序日誌「。

enter image description here

現在我選中該複選框,然後單擊Finish按鈕,但它不會打開它得到了在安裝過程中創建的文件install.log。我可以看到install.log文件出現在我開始安裝的目錄的根目錄中。爲什麼日誌文件沒有打開?

+0

根據日誌,它做了什麼_does_? –

+0

我沒有得到你的問題。你是否說我點擊'Finish'按鈕時應該在日誌中觀察一些日誌語句。你做? – RBT

+0

如果您查看已創建(但未顯示)的日誌文件,應該有一個嘗試顯示日誌的自定義操作。想必它失敗了。也許日誌會顯示它試圖做什麼或失敗。 –

回答

0

我終於能夠把它釘死了。實際上,從開始起,我的印象就是顯示安裝程序日誌文件將自行發生。我得到了這樣的印象,因爲在您將/l*v install.log參數添加到msiexec命令的那一刻,您開始看到「顯示Windows Installer日誌」複選框,而沒有執行任何明確的編碼。

該複選框的可見屬性由名爲ISSHOWMSILOG的預先存在的公共屬性進行管理,並且該屬性已被烘焙到基本的MSI安裝程序項目模板中。現在,如果我們想在被選中的複選框,然後明確的自定義操作已被調用來顯示完成按鈕的點擊該文件將真正顯示的日誌文件:

事件類型DoAction

事件調用條件MsiLogFileLocation And (ISSHOWMSILOG="1") And NOT ISENABLEDWUSFINISHDIALOG

事件操作ShowMsiLog

我做了後THI將其更改爲我的基本MSI項目,然後只有日誌文件開始顯示在點擊Finish按鈕上。

+0

我相當確定這個行動應該已經在那裏。除非項目最初是在舊版本的InstallShield中創建並遷移的。 (這應該很容易通過一次性測試項目來確認。) –

+0

哦。你是對的。我從頭檢查了一個新的IS 2016項目,其中有相同的代碼。現在我記得我已經將這個項目從IS 2014升級到了IS 2016.但問題是,同樣的代碼行也出現在IS 2014的新空白項目中。那麼在遷移過程中,這些代碼怎麼會丟失呢? – RBT

+0

我的猜測是來自一個更舊的版本。遷移會忽略大多數對話框,因爲您可能已經對它們進行了自定義,並且我們不想破壞它。 –

相關問題