2013-11-21 124 views
2

我有一個組在工作,詢問是否有一種方法可以通過命令行或ini值傳遞值,以便「填充」用戶通常提供的值安裝。例如,如果我有一個下拉菜單,用戶可以選擇他們正在安裝客戶端,服務器或兩者,他們需要一種自動執行此操作的方法,以便用戶不必選擇任何內容。默認值到Inno設置安裝

基本上,他們希望自動運行安裝程序而不實際顯示嚮導面板並根據命令行參數或ini文件填充用戶值。

我知道你可以使用ini文件,但我不認爲他們是用於這個原因。而且我也沒有看到使用命令參數的任何方式。

有沒有一種原生Inno Setup來做到這一點?

謝謝!

回答

4

一次設置所有標準設置的一種方法是通過/LOADINF parameter使用INF文件。

如果您願意(與安裝作者合作),也可以使用extend this to custom page settings

+0

我認爲這可能是最好的方法。所以如果我理解我通過這些鏈接讀取的內容,如果我有像gInstallArea:String; gShare:String; gSession:String; gSite:String; gJMSEnv:String; gSubdomain:String;然後,我需要在我的ini文件中將它們定義爲自定義參數,然後添加該代碼以獲取這些參數。如果我們正在加載ini文件,我會使用ini中的數據設置這些變量。那是對的嗎? – user2920226

+0

我還應該注意,安裝過程中輸入的大部分數據都是在[CODE]中完成的,而不是在任務或組件中完成的。因此,這些都是我們通過嚮導頁面收集的自定義變量,並且在安裝期間調用{code:GetInstallArea}(例如)來設置文件路徑,而不是。所以當我用/ SAVEINF運行時,只有一小部分數據被保存到ini文件中,因爲大部分數據都在[代碼] – user2920226

+0

中設置和檢索。是的,ISXKB頁面覆蓋自定義的[Code]設置。儘管在調用'/ LOADINF'時,您必須自己決定是僅預加載設置還是跳過自定義頁面,而且您必須小心「NextButtonClick」所改變的設置即使跳過了處理程序。 – Miral

2

目前已經有包括中英諾許多命令行參數,你可以使用:http://www.jrsoftware.org/ishelp/index.php?topic=setupcmdline

有了他們,你可以設置任務,目錄,組,分量,密碼等等等等

如果你需要一些特別的東西你可以使用你自己的命令行參數。 使用GetCmdTail()函數獲取用於設置或卸載程序的cmd行參數。

由於這是常見的問題,已經有一些先進的解析器和方法,像這樣的:不與例如一起顯示的設置形式 Is it possible to accept custom command line parameters with Inno Setup

我建議你使用/ SILENT參數/ TASKS,/ DIR和/ COMPONENTS和一些自定義參數。