2013-05-20 50 views
1

我有一個來自第三方的安裝程序。通過試驗和錯誤,我發現它是一個innosetup安裝程序。當我用/ silent標誌調用它時,它會安裝得很好,直到它執行3個依賴的安裝程序(例如,直接的X是一個),然後需要用戶輸入取消。我希望能夠運行安裝程序並讓它安靜地安裝依賴項,或根本不安裝依賴項。通常通過安裝程序GUI時,它會在嚮導的最後一頁的末尾給我3個複選框(在我點擊完成按鈕之前),以允許我選擇是否安裝依賴關係。有沒有辦法做到這一點,我不知道?從我的研究來看,如果不知道可用的類型和組件(並且使用/ help或/?選項執行安裝程序沒有任何作用),似乎就不可能了,我可能需要從第三方獲取新的安裝程序。我能想到的唯一的另一個選擇是在安裝程序的一段時間不活動之後發生某種超時,我終止安裝過程(因爲我感興趣的文件已經在那個時候安裝了,我認爲)。如何從第三方靜默執行innosetup安裝程序,並且不嘗試安裝依賴項?

回答

2

結束頁面上的複選框聽起來像是安裝後的[Run]條目。除了原始設置作者可以選擇爲交互式安裝和靜默安裝選擇不同的一組選項之外,無法從命令行中影響這些選擇。 (或者他們威力擴展了/LOADINF選項與這些工作,雖然這是不可能的。)

考慮到這是一個第三方的安裝程序,最好的辦法是聯繫原來的供應商,看看您是否能讓他們改變默認的無聲選擇,或者添加一個額外的命令行參數來改變默認值。

如果失敗,您可以考慮使用程序(如AutoIt)在非靜默運行時自動單擊向導GUI。

(如果它試圖安裝真正的東西是相關性,但是,那麼你可能應該讓它安裝它們。它應該是靜默安裝那些過於反正)

查殺安裝過程中指定的後時間似乎是一個極好的災難配方。

+0

在我的情況下,我認爲自動點擊選項不會被允許從安全角度進行安裝。在超時後終止進程是可用的最快選項,並考慮到所有因素。否則,最好的解決方案應該是我自己做安裝程序。從第三方獲得新的安裝程序絕對是不可能的。 – sqenixs

1

這些可能是InnoSetup安裝中的[任務],您可以通過在命令行中傳遞/ tasks =「」來取消選擇(與/ silent一起)。以下是命令行選項列表:http://www.jrsoftware.org/ishelp/topic_setupcmdline.htm。添加/抑制框可能也有幫助。

+0

不幸的是,沒有工作,但謝謝你的建議。我認爲我唯一的選擇是根據安裝的文件構建我自己的自定義安裝程序,或者在特定時間終止安裝程序進程。 – sqenixs

0

看來不可能做我所希望的事情,但不知道更多關於他們設置的結構。但是,在等待指定的時間後(通過閱讀this question得知),我通過殺死第三方安裝程序解決了我的原始問題。