gpt4 book ai didi

macos - 在 Mac 上安装软件包时运行 postflight 脚本

转载 作者:行者123 更新时间:2023-12-03 00:11:40 28 4
gpt4 key购买 nike

我正在尝试从脚本构建 mac 软件包安装程序,并且我想运行 postinstall 和 postflight 脚本。我的构建包的脚本如下所示:

pkgbuild --root MyRoot/MyApp.app --identifier com.myapp.MyApp --scripts Scripts --install-location /Applications/MyApp.app MyApp.pkg
productbuild --synthesize --package MyApp.pkg Distribution.xml
productbuild --distribution Distribution.xml --resources Resources --package-path . CompleteInstaller.pkg

我已将安装后脚本放入“脚本”中,并且正在成功执行。不过,我在运行 postflight 脚本时遇到问题。它被放置在Resources目录中并且不会被执行。这还不足以指定它的路径吗?我找不到这个问题的答案,如果我错过了,我很抱歉。

PS:我的 postflight 脚本没有做任何特别的事情 - 现在它尝试在主目录中创建一个文件:

#!/bin/sh
touch ~/file
exit 0

最佳答案

我不确定为什么在一个包中同时包含 postinstallpostflight。两者都是相同的脚本,必须在安装的“复制文件”阶段之后运行。“postflight”名称用于旧式包 - bundle 。引入扁平包后,相同的脚本必须命名为“postinstall”。在平面包中,仅当文件名称为“postinstall”而不是“postflight”并且存在于“Scripts”目录而不是“Resources”目录中时,安装程​​序才会将文件视为安装后脚本>”目录。可能这就是您的脚本未执行的原因。

您可以获得有关包中使用的脚本的更多信息 here .

关于macos - 在 Mac 上安装软件包时运行 postflight 脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19978553/

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