2013-11-21 117 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和一些自定义参数。