我正在尝试使用productbuild使用pkgbuild和产品归档创建包。 如果没有脚本,安装程序将成功安装程序包。但是对于脚本,它失败了。我用谷歌搜索,但不能'找到一个解决我的问题的工作解决方案。
pkgbuild --root GameDir --install-location / Applications --component-plist' info.plist' --scripts ScriptsOSX Game.pkg
.app名称在info.plist中以RootRelativeBundlePath Dictionary值
的形式提供productbuild --distribution ./Distribution.xml --resources ../Resources --packagepath GamePkgDir GameInstaller.pkg
GameDir / ScriptsOSX文件夹中的脚本: postinsall.sh
#!/usr/bin/env sh
open /Applications/Contacts.app/
exit 0
许可: -rwxr-xr-x @ 1 staff 57 Dec 12 19:26 postinstall.sh //所有人的执行权限,用于测试目的。
fwiw:安装完成后,会要求输入管理员密码。因此,除了执行权限之外,我相信它还有权运行脚本。
我首先尝试使用python脚本。虽然安装成功,但脚本没有执行。我不知道为什么。所有示例都有shell或perl脚本作为安装脚本,因此尝试使用shell脚本。但安装失败了。我确信这是由于尝试脚本执行。但不确定为什么。有什么想法吗?
提前致谢
萨贾塔
编辑: 具有安装后脚本的info.plist是这样的 它是一个字典数组,其中一个键:值对是:BundlePostInstallScriptPath = postinstall.sh
答案 0 :(得分:1)
您可以随时查看/var/log/install.log
,以获取更多信息。