2013-07-17 100 views
0

我有一個使用Install Shield Limited Edition創建的MSI安裝程序,我可以通過直接運行它來正常安裝它。如果使用/ QUIET參數抑制UI,MSIEXEC不安裝MSI安裝程序

如果我不使用/ QUIET參數,我也可以使用MSIEXEC安裝它,但如果使用/ QUIET參數,則應用程序不會被安裝。

背後的原因是什麼?當我直接運行MSI時,它會提示您輸入許可協議,這是否會成爲未安裝在靜默模式下的原因?

+0

您是否曾嘗試從提升的cmd提示符運行該命令? –

+0

正如克里斯托弗提到的最可能的問題是命令提示符沒有提升,所以UAC停止安裝。如果你要創建一個詳細的日誌,你應該在日誌文件中看到這個。 –

回答

0

這裏的問題是不同的 - 在系統重新啓動之後,它以無提示權限打開命令提示符也被悄悄安裝。

1

您是否記錄了安裝?

通常,許可證協議頁面不會阻止安裝,儘管您可以這樣編寫。

1

用Instedit等編輯器打開MSI文件並打開InstallUISequence表。您將看到在安裝的圖形部分執行的所有操作。 InstallExecuteSequence表保存按下安裝按鈕或執行靜默安裝後執行的所有操作。

如果您發現只有在InstallUISequence中正在執行的操作,請嘗試查找它是否正在對系統進行一些更改。這違背了最佳實踐,但許多msi都這樣做。

最可能的原因是某些屬性是必需的,並且在某個窗口中獲得,並且您需要使用命令行中的參數「注入」它。在屬性表中查看屬性全部大寫(這是你可以使用的)。

0

我有這個相同的問題。我知道原來的問題已經回答,但我想我會在這裏發佈其他人尋找像我這樣的答案。要進行無提示安裝,您必須擁有管理員權限。以管理員身份運行命令提示符,它工作。

2

解決方法是使用/passive/qn而不是/quiet

/quiet =安靜模式,無用戶交互。這意味着默認行爲是考慮到當安裝程序請求UAC權價(即NO)

/被動 =無人蔘與模式 - 僅顯示進度條 所以,當你設置/ QN,這意味着進度條沒有用戶界面。幾乎相同的東西,但以另一種方式:)