0

我使用 PackageMaker 3.0.6 在 10.7 上创建了一个带有以下选项的平面 .pkg 文件:

/Applications/PackageMaker.app/Contents/MacOS/Package --root ./myroot \
 --id com.myroot.pkg --title "My Root" --scripts ./scripts --target 10.5 \
 --verbose --resources ./resources --root-volume-only --domain system \
 --no-relocate --versio 1.0 --certificate "My Cert Name"

在我拥有的resources文件夹中,在我拥有的文件夹中background.pngWelcome.rtf以及这些脚本的各种支持文件。生成的 .pkg 似乎功能齐全,只是安装程序不显示我的背景、欢迎或许可证。License.rtfscriptspreflightpostflight

如何为平面包添加自定义背景、欢迎和许可?

据我所知,Distribution.pkg 中的文件缺少对背景、欢迎和许可文件的引用。

作为一种解决方法,我尝试使用xar. 如果我像这样用 xar 解包:

xar -xf ./myroot.pkg -C work

并为这些文件添加 3 个标签,然后用 xar 再次打包:

cd work && xar -cf ../myroot2.pkg *

我得到一个包,可以在我的背景等情况下开始安装,但是当安装我的 .app 时,我得到了这些错误(来自/var/log/install.log):

 run preupgrade script for myroot
Could not create task for action: run preupgrade script for myroot2
Install failed: The Installer could not extract files from the package for myroot2. Contact the software manufacturer for assistance.
IFDInstallController 863170 state = 7

我也试过 Flat Package Editor:打开 myroot.pkg,拖出 Distribution,编辑,拖回来,删除旧的 Distribution,保存。与 xar 相同的问题。

我宁愿拥有一个完全可编写脚本的解决方案,而不是使用 GUI。

编辑:我还尝试使用pkgutil扩展、编辑分发和重新扁平化包。这会在安装程序中获取图标和自述文件,但安装程序随后无法解压缩有效负载。如果我用Flat Package Editor. 我还尝试创建一个没有 PackageMaker 的扩展包(它可以工作,除了 10.8),但是当我尝试使用 pkgutil 将其展平时,结果又是一个损坏的包。

4

3 回答 3

2

PackageMaker 总是有问题,并且在 Mac OS X 10.6 Snow Leopard 中被弃用。

您应该将pkgbuild 与 productbuild 一起使用

于 2012-08-04T08:49:24.557 回答
1

这个Mac 安装程序博客有一些关于 Packagemaker 的有用帖子,包括有关使用的详细信息和常见问题的解决方案。希望它会有所帮助。

于 2012-08-14T06:35:17.983 回答
0

查看Luggage - 它是一个 Makefile 帮助文件,可让您使用健全的 Makefile 创建 OS X 包。免责声明:我是它的原作者,虽然现在有很多其他人的贡献。

于 2014-09-26T17:20:40.770 回答