【问题标题】:Installer for Executing Multiple Installs用于执行多个安装的安装程序
【发布时间】:2012-11-20 20:49:27
【问题描述】:

我曾多次访问 stackoverflow.com,但这是我第一次在这里发帖。我会尽量做到具体和重点。

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

最近我开始使用 Inno Setup,到目前为止,我已经成功地将多光盘安装整合到单个可执行程序中。

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

我向社区提出的问题是,我如何将上述所有文件打包到一个可执行文件中并让它们按顺序安装所有内容?如果可以通过 Inno 完成,我想尝试一下。或者,如果您建议其他程序,我总是可以花时间尝试和学习。

不久前我曾尝试为此制作一个批处理文件,但结果有点笨拙,我真的不喜欢它的结果。

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

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

【问题讨论】:

    标签: installation inno-setup


    【解决方案1】:

    您可以采用的一种方法是创建一个安装程序的安装程序,您只需在其中打包您现在拥有的安装程序,并在安装时按照您的精确顺序运行每个安装程序现在就完成安装和打补丁的游戏。

    这样,您不必了解每个游戏的每个文件/注册表项或其他设置,以及如果您忘记包含对其至关重要的内容而失败的风险。

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

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

    您的问题过于宽泛,无法在此处包含一个工作示例,但您可以通过研究 samples 目录中的脚本来找到指导。

    关于你的最后一个问题

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

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

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

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

    【讨论】:

    • 感谢您的回复! :) 创建安装程序的安装程序正是我所需要的。我还没有机会写新剧本。刚回到家,但我现在正在做这件事。正如我告诉 roben 的那样,我设法完全跳过了在线帮助文​​件的 [run] 部分,并且为此感到难以置信的愚蠢。阅读后,我意识到问题的第一部分是不必要的......您对复选框的回复很有帮助,所以谢谢!我会努力完成这件事,如果结果很好,我会告诉你们。再次感谢。
    【解决方案2】:

    在我看来,如果最终结果应该是安装了 mod 的完整补丁版本,那么您应该构建新的安装程序,其中将包含带有 mod 的完整补丁游戏。 您可以通过简单的方法找出每个补丁、插件、MOD 更改/添加的内容。 安装每个东西(插件/mod/等)后,制作安装文件夹的备份副本并检查注册表项。 然后只需比较文件夹/目录并过滤掉每个补丁、插件、MOD 的特定文件。 最后,您将能够将每个插件和 MOD 添加为 Components(文件和注册表项) - 这将在组件选择向导页面中创建复选框。

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

    【讨论】:

    • 你听说过“那是我跳过的一页”这句话吗?这个说法现在是 100% 准确的。我感到非常尴尬,因为我在阅读几乎所有其余部分的同时设法跳过了在线帮助指南的“运行”部分。我认为这与脚本的 [Setup] 或 [File] 部分有关。至于整合补丁,许多安装文件使用版本和/或大小检查,当您尝试使用它们制作多合一安装程序时,它们将无法正确安装。不幸的是我试过了。感谢您非常快速和专业的回复!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多