1

我有来自第三方的安装程序。通过反复试验,我发现它是一个 innosetup 安装程序。当我用 /silent 标志调用它时,它安装得很好,直到它为 3 个依赖项执行安装程序(例如,直接 X 是一个),然后需要用户输入才能取消。我希望能够运行安装程序并让它静默安装依赖项或根本不安装依赖项。通常通过安装程序 GUI 时,它确实在向导的最后一页(在我点击完成按钮之前)的末尾给了我 3 个复选框,允许我选择是否安装依赖项。有没有办法做到这一点,我不' 不知道?根据我的研究,如果不知道可用的类型和组件(并且使用 /help 或 /? 选项执行安装程序无效)似乎是不可能的,我可能需要从第三方获取新的安装程序。我能想到的唯一其他选择是设置某种超时,在安装程序一段时间不活动后,我会终止安装过程(因为那时我认为我感兴趣的文件已经安装了)。

4

3 回答 3

2

完成页面上的复选框听起来像安装后[Run]条目。除了原始安装作者可以选择为交互式安装与静默安装选择不同的选项集外,无法从命令行影响对这些选项的选择。(或者他们可能已经扩展了/LOADINF使用这些的选项,尽管这不太可能。)

鉴于这是第三方安装程序,最好的办法是联系原始供应商,看看是否可以让他们更改默认的静默选择,或者添加一个额外的命令行参数来更改默认值。

如果做不到这一点,您可以考虑使用AutoIt等程序在非静默运行时自动单击向导 GUI。

(如果它试图安装的东西真的是依赖项,那么你可能应该让它安装它们。无论如何它也应该默默地安装它们。)

在指定时间后终止安装过程似乎是灾难的绝佳秘诀。

于 2013-05-21T21:32:53.860 回答
1

这些可能是 InnoSetup 安装中的 [Tasks],您可以通过在命令行中传递 /tasks="" 来取消选择(连同 /silent)。以下是命令行选项列表:http ://www.jrsoftware.org/ishelp/topic_setupcmdline.htm 。添加 /suppressmsgboxes 也可能有所帮助。

于 2013-05-20T23:20:07.360 回答
0

如果不更多地了解他们的设置结构,似乎不可能做我想做的事。然而,我在等待指定的时间后(我从阅读这个问题中得到)杀死了第三方安装程序,成功地解决了我原来的问题。

于 2013-05-21T18:06:43.143 回答