Macos 如何使用Iceberg或Package Maker在一个安装程序中运行多个DMG文件?

Macos 如何使用Iceberg或Package Maker在一个安装程序中运行多个DMG文件?,macos,installation,packagemaker,dmg,Macos,Installation,Packagemaker,Dmg,我正在尝试创建一个Mac安装程序,以简化最终用户的流程。 他们的想法是,他们可以只运行一个安装程序,让他们完成安装5个不同软件的过程 另一个复杂的因素是,我想在这个元安装程序中以特定的顺序运行不同类型的安装程序 1) 安装一组文件(包括DMG文件) 2) 运行一个DMG文件并安装它 3) 运行另一个DMG文件并安装它 4) 运行将通过终端执行的.sh python脚本 5) 再安装一些文件 我的问题是: 这可能吗 你知道如何用冰山公司或包装制造商来做这件事吗 提前谢谢 嗯,这绝对是可能的 似乎您

我正在尝试创建一个Mac安装程序,以简化最终用户的流程。 他们的想法是,他们可以只运行一个安装程序,让他们完成安装5个不同软件的过程

另一个复杂的因素是,我想在这个元安装程序中以特定的顺序运行不同类型的安装程序 1) 安装一组文件(包括DMG文件) 2) 运行一个DMG文件并安装它 3) 运行另一个DMG文件并安装它 4) 运行将通过终端执行的.sh python脚本 5) 再安装一些文件

我的问题是:

  • 这可能吗
  • 你知道如何用冰山公司或包装制造商来做这件事吗

  • 提前谢谢

    嗯,这绝对是可能的

    似乎您的要求是您有5个不同的安装程序,并且您希望从单个主安装程序中逐个安装它们。 在这种情况下,假设所有这些安装程序都在一个dmg文件中,并且只有一个主安装程序(所有这些安装程序都可以隐藏,以便用户在安装dmg时只看到主安装程序)。 现在,在这个主安装程序的postinstall脚本中(假设您使用
    packagemaker
    ),您可以编写逻辑来获取当前路径并开始安装您的子安装程序。您还必须进行一些错误处理,以了解是否有任何安装失败

    我所提供的是一个如何实现你想要做的事情的高层次的想法。我相信,在编写包含所有业务逻辑的主postinstall文件时,您可以想到很多改进

    从脚本安装packagemaker安装程序的命令:

    installer -pkg "path_to_pkg" -target /
    

    有关更多选项,请参阅。

    非常感谢Vikram-您的意思是PackageMaker可以知道(例如)mini installer#2何时完成并继续使用mini installer#3?同样,考虑到您的其他安装程序也是PackageMaker安装程序,您可以使用“installer”安装这些软件包来自postinstall脚本的命令。此调用仅在安装完成时返回。然后,将执行脚本中的下一条语句。嗨,Vikram-实际上,其他安装程序不是Packagemaker安装程序。其中一个是javajdk.dmg文件,另一个是Gimp.dmg文件。您建议的脚本也可以处理plain.dmg文件吗?我担心的是,由于.dmg文件需要装入并拖动到Applications文件夹中的多步骤过程,因此我无法通过主安装程序以我希望的方式将其自动化…如果您不想进行额外的装入和卸载工作(是的,可以通过脚本实现),您可以简单地将这些DMG的内容包含在您的包中,并直接调用该安装程序。例如,对于JDK.dmg,您可以在dmg文件中有一个JDK文件夹,并将JDK.dmg的所有内容(包括任何隐藏文件)放在该文件夹中。现在,如果内容是packagemaker安装程序,请调用“installer”命令。如果内容只是需要复制到“应用程序”文件夹的应用程序文件,请使用脚本中的复制命令。