gpt4 book ai didi

c++ - 在 dmg C++ 中运行 pkg

转载 作者:行者123 更新时间:2023-11-30 05:44:56 26 4
gpt4 key购买 nike

尝试在 Google 上搜索但似乎找不到任何信息。

我需要通过代码执行 dmg 文件中存在的 pkg 文件。原因是软件更新。我通过我的应用程序(这是一个 dmg)下载了一个更新并需要运行它。在 Windows 上,这非常简单:运行 exe。无法弄清楚如何在 Mac 上实现此目的。

就框架而言,我将 wxWidgets 与 cocoa 结合使用(如果有帮助的话)。

最佳答案

我不知道有什么方法可以直接使用 Cocoa API 执行此操作,但您可以使用外部命令来执行此操作:使用 /usr/bin/hdiutil attach/path/to/image.dmg 来挂载磁盘镜像,然后像 /usr/sbin/installer -package/Volumes/mountedvolume/installer.pkg -target/ 这样的东西来安装包(参见 man installer了解更多信息和选项)。请注意,如果软件包需要管理员权限才能安装,您需要以 root 身份运行 installer 命令。

编辑:要获取已安装卷的完整路径,您可能必须解析 hdiutil 的输出。它看起来像这样,尽管它在很大程度上取决于磁盘镜像的格式:

/dev/disk2              Apple_partition_scheme          
/dev/disk2s1 Apple_partition_map
/dev/disk2s2 Apple_HFS /Volumes/mountedvolume

关于c++ - 在 dmg C++ 中运行 pkg,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29577057/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com