执行多个安装的安装程序

时间:2012-11-20 20:49:28

标签: installer inno-setup

我去过stackoverflow.com很多次了,但这是我第一次在这里发帖。我会尽量做到具体而又重要。

我正在将我的所有PC光盘转换为数字.iso文件,而且我有一些游戏是多安装光盘。

最近我开始使用Inno Setup,到目前为止,我已经将多盘安装整合到单个程序可执行文件中取得了很大的成功。

我目前关注的是“战地1942”系列。它需要初始安装,多个扩展安装,一个主要补丁,以及安装需要多个步骤的mod。

我对社区的问题是如何将所有上述文件打包成一个可执行文件并让它们按顺序安装?如果可以通过Inno完成,我想尝试一下。或者,如果你建议另一个程序,我总是可以花时间去尝试学习它。

我之前尝试过制作一个批处理文件,但结果有些笨重,我真的不喜欢它的结果。

另外,有没有办法在Inno中插入复选框来选择运行的可执行文件? (这部分帖子不如上述要求那么重要,如果可能的话,只是一种奖励)。

真的很期待社区对此的回应!

2 个答案:

答案 0 :(得分:2)

在我看来,如果最终结果应该是安装了mod的完全修补版本,你应该构建新的安装程序,其中包含完全修补的mod游戏。 您可以轻松找到每个补丁,插件,MOD的更改/添加内容。 安装好每个东西(addon / mod / etc.)后,制作安装文件夹的备份副本并检查注册表项。 然后只比较文件夹/目录并过滤掉每个补丁,插件,MOD的特定文件。 最后,您将能够将每个插件和MOD添加为Components(文件和注册表项) - 这将在“组件选择向导”页面中创建复选框。

最简单的方法: 对于安装结束时的外部安装人员/第三方应用程序,可在此处找到更多信息:http://www.jrsoftware.org/ishelp/index.php?topic=runsection

答案 1 :(得分:2)

您可以遵循的一种方法是创建安装程序的安装程序,您只需打包您现在拥有的安装程序,并在安装时按照您的确切顺序运行每个安装程序现在就做完全安装和打补丁的游戏。

这样,您不必学习每个游戏所拥有的每个文件/注册表项或其他设置,如果您忘记包含对其至关重要的内容,则可能会失败。

为了正确执行此操作,您需要做的是了解当前安装程序是否从命令行参数或文本文件接受它自己的配置(许多安装程序都这样做,例如 / silent / verysilent 命令行参数在后台运行 。完成后,使用脚本的[run]部分启动每个安装程序通过命令行或预先生成的文本文件传递参数,甚至可以使用[code]动态创建文本文件或命令行参数。内置pascal脚本的部分。

如果您的安装程序不接受参数,您甚至可以达到目标,将所有文件保存在一个可以运行的单个exe文件中,然后在启动时配置每个单独的安装程序。

您的问题过于广泛,请在此处添加一个工作示例,但您可以通过研究samples目录中的脚本找到指导。

至于你的最后一个问题

  

另外,有没有办法在Inno中插入复选框来选择运行的可执行文件?

您可以使用[run]部分让用户选择最后运行的内容。

或者您可以使用[tasks]部分创建不同的sets文件/配置。

最后一句话是检查安装脚本条目的可用标志,例如,deleteafterinstall清除[files]条目中包含的单个安装程序,或[uninstallrun]部分以统一卸载程序也是。