5

在使用 PackageMaker(XCode 3.2.1 1613,用于 Snow Leopard)开发安装时,有时我在大多数(如果不是全部)文件上设置的权限、所有者和组会消失。结果看起来就像我刚刚将文件添加到 PackageMaker,然后在每个文件上设置文件 perm/own/grp。

奇怪的是,.pmdoc 文件夹中的大多数 xml 文件都发生了变化,甚至是 index.xml,当什么都没有发生变化时,这会导致一个大的 SVN 问题!发生这种情况时,我只是 SVN Revert,然后在构建之前检查所有内容(可能需要 20 分钟)。

我怎样才能避免这种情况?我可能会做些什么来触发这种(不受欢迎的)行为?我还无法将我的行为与问题联系起来。下次发生这种情况并且我有空闲时间时,我将比较 .pmdoc/xml 更改并查看是否可以找到模式。

同时,如果有人有一些提示,我将不胜感激。

4

1 回答 1

2

在使用使用 PackageMaker GUI 生成的 .pmdoc 项目时,我看到了同样的情况。

组成 .pmdoc 的文件包含各种事物的嵌入式绝对路径,包括 .pmdoc 文件本身。无论您是否将已安装文件的路径更改为相对于 .pmdoc 位置或其他任何位置,都会发生这种情况。

经过一些实验后,如果您移动 .pmdoc,或执行任何其他更改其位置或环境的操作,PackageMaker 会将所有类型的值重置为默认值 - 包括所有者/组权限,以及组件重定位和降级标​​志。这发生在 PackageMaker 的内存中,因为构成我的 .pmdoc 文件的组件文件都被我的源代码控制系统 (Perforce) 锁定,并且我已经验证它们没有更改。

目前,我只是设置一个构建机器和构建文件夹,而不是移动任何东西。

从长远来看,我打算转而使用 PackageMaker 的命令行界面构建 .pkg 文件,这显然是 Apple 所做的。我找到了一篇很好的文章,里面有关于这方面的提示。


更新

本文对使用命令行“packagemaker”实用程序构建的简单安装程序进行了很好的讨论和示例。替换示例中的明显值,这在我尝试过的每台机器上第一次开箱即用,没有任何随机重置 hoohah。通过这种方式,我在一小时内完成的工作比使用 PackageMaker 在两天内完成的还要多。抛弃 GUI 并使用它——你会很高兴的。

如果您真的想使用 GUI 将安装程序放在一起,Packages看起来很有希望,但我还没有真正尝试过。

于 2011-07-17T05:22:33.897 回答