我有一個使用Install Shield Limited Edition創建的MSI安裝程序,我可以通過直接運行它來正常安裝它。如果使用/ QUIET參數抑制UI,MSIEXEC不安裝MSI安裝程序
如果我不使用/ QUIET參數,我也可以使用MSIEXEC安裝它,但如果使用/ QUIET參數,則應用程序不會被安裝。
背後的原因是什麼?當我直接運行MSI時,它會提示您輸入許可協議,這是否會成爲未安裝在靜默模式下的原因?
我有一個使用Install Shield Limited Edition創建的MSI安裝程序,我可以通過直接運行它來正常安裝它。如果使用/ QUIET參數抑制UI,MSIEXEC不安裝MSI安裝程序
如果我不使用/ QUIET參數,我也可以使用MSIEXEC安裝它,但如果使用/ QUIET參數,則應用程序不會被安裝。
背後的原因是什麼?當我直接運行MSI時,它會提示您輸入許可協議,這是否會成爲未安裝在靜默模式下的原因?
這裏的問題是不同的 - 在系統重新啓動之後,它以無提示權限打開命令提示符也被悄悄安裝。
您是否記錄了安裝?
通常,許可證協議頁面不會阻止安裝,儘管您可以這樣編寫。
用Instedit等編輯器打開MSI文件並打開InstallUISequence表。您將看到在安裝的圖形部分執行的所有操作。 InstallExecuteSequence表保存按下安裝按鈕或執行靜默安裝後執行的所有操作。
如果您發現只有在InstallUISequence中正在執行的操作,請嘗試查找它是否正在對系統進行一些更改。這違背了最佳實踐,但許多msi都這樣做。
最可能的原因是某些屬性是必需的,並且在某個窗口中獲得,並且您需要使用命令行中的參數「注入」它。在屬性表中查看屬性全部大寫(這是你可以使用的)。
我有這個相同的問題。我知道原來的問題已經回答,但我想我會在這裏發佈其他人尋找像我這樣的答案。要進行無提示安裝,您必須擁有管理員權限。以管理員身份運行命令提示符,它工作。
解決方法是使用/passive/qn而不是/quiet。
/quiet =安靜模式,無用戶交互。這意味着默認行爲是考慮到當安裝程序請求UAC權價(即NO)
/被動 =無人蔘與模式 - 僅顯示進度條 所以,當你設置/ QN,這意味着進度條沒有用戶界面。幾乎相同的東西,但以另一種方式:)
您是否曾嘗試從提升的cmd提示符運行該命令? –
正如克里斯托弗提到的最可能的問題是命令提示符沒有提升,所以UAC停止安裝。如果你要創建一個詳細的日誌,你應該在日誌文件中看到這個。 –