【问题标题】:MAC OS X : PackageMaker, run a driver installation during the pre-install actionsMAC OS X:PackageMaker,在预安装操作期间运行驱动程序安装
【发布时间】:2012-04-16 06:12:42
【问题描述】:

我正在尝试使用“PackageMaker”为 Mac OSX 创建安装程序。

我的问题是,在安装我的应用程序之前,我需要安装 FTDI 驱动程序。为了进行此预安装,我下载了软件包并将其包含在内容列表中,但我不知道运行此安装程序的最佳方式。

我考虑将安装程序复制到 tmp 文件夹并使用终端命令,例如:

installer -pkg "/Volumes/AppleJack-1.4.3/AppleJack Distribution.mpkg" -target /

但需要 SUDO 权限。

如何从我的安装程序安装此驱动程序?

我有第二个关于“处理器架构”的问题:x86 和 x64 之间要安装的驱动程序不同。

如何执行此检查以运行适当的驱动程序安装程序?

谢谢

【问题讨论】:

    标签: macos driver device-driver packagemaker


    【解决方案1】:

    对于您的第一个问题,通常您会将所有必需的子包添加到 PackageMaker 中的主包中。它应该只安装需要的那些。如果他们需要管理员权限来安装,您只需在其配置窗格中为该软件包选择“需要管理员身份验证”。如果您愿意,可以将包位置设置为 URL。

    对于您的第二个问题,如果这是一个 kext,它们通常被捆绑为通用二进制文件。我首先要求供应商适当地打包它们,这样您就不需要维护单独的包。但他们可能不会这样做。在这种情况下,您可以将这两个软件包捆绑到您的 mpkg 中,并将一个要求标记为“64 位指令可用 == true”,另一个标记为“false”。如果失败,请禁用该软件包。

    【讨论】:

    • 罗布,感谢您的回答。今天下午我在要求选项卡中找到了“可用的 64 位指令”,但我的 64 位 MAC 计算机 Intel Core 2 Duo 没有返回“true”,也没有返回“false”,而是返回了一些
    • 关于你回答的第二部分,如果我将我的驱动程序作为子包包含在内,它只会被复制到最终的应用程序文件夹中,而不是执行。我考虑将驱动程序安装程序复制到我的应用程序文件夹中,并使用命令“open -n /Applications/MyApp/FTDI/FTDIUSBSerialDriver_10_4_10_5_10_6_10_7_x64.mpkg”运行安装后脚本。你怎么看?非常感谢你
    • 您是否考虑过在首次启动时而不是在软件包安装程序中进行安装?如果这是您唯一需要软件包安装程序的事情,那么您可以摆脱整个事情并进行更简单的拖放安装。
    • 感谢您的宝贵意见。但我仍然面临在 x86 和 x64 之间运行的安装程序选择。或者也许使用 shell 命令来确定处理器架构,如“uname -m”?我将更深入地了解为什么“64 位指令可用”在我的情况下不返回 true。
    • 您可能在 64 位处理器上运行 32 位操作系统。
    猜你喜欢
    • 1970-01-01
    • 2013-02-06
    • 1970-01-01
    • 1970-01-01
    • 2014-03-31
    • 1970-01-01
    • 2018-09-28
    • 1970-01-01
    • 2018-10-16
    相关资源
    最近更新 更多