2010-01-06 83 views
5

使用PackageMaker(XCode 3.2.1 1613,适用于Snow Leopard)开发安装时,有时候我设置的权限,所有者和组最多(如果不是全部)的文件只是汽化。结果看起来像我刚刚将文件添加到PackageMaker,然后设置每个文件perm/own/grp。Mac PackageMaker - 随机重置所有者/组/群发

奇怪的是,.pmdoc文件夹中的大部分xml文件都发生了变化,甚至是index.xml,当没有任何变化时,会强制产生大的SVN问题!当发生这种情况时,我只是SVN Revert,然后在构建之前检查一切(可能需要20分钟)。

我该如何避免这种情况?我会怎样做才能触发这种(不受欢迎的)行为?我还没有能够将我的操作与问题相关联。下一次它发生,我有松弛的时间,我会分歧.pmdoc/xml的变化,看看我能否找到一个模式。

同时,如果有人有一些提示,我很感激。

回答

2

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

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

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

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

从长远来看,我打算使用PackageMaker的命令行界面切换到构建.pkg文件,这显然是Apple所做的。我发现a pretty good article有关于此的提示。


更新

This article有使用命令行“packagemaker”工具构建了一个简单的安装程序的大讨论和示例。在示例中替换明显的值,这是第一次,开箱即用,在我尝试过的每台机器上,没有任何随机重置hoohah。这种方式在一小时内完成得比我在两天内用PackageMaker做得更多。抛弃GUI并使用它 - 你会很高兴。

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

+0

谢谢,鲍勃。似乎苹果需要倾向于这个东西,或者如果他们认为没有人使用它,只是摆脱它:-) – 2011-08-17 17:38:22

+0

哦,人们正在使用它 - 带来很大的痛苦。我刚刚写了一篇关于为什么我转向另一种方式的博客文章:http://bobertville.blogspot.com/2011/08/making-mac-installers.html – 2011-08-19 04:16:47

+0

顺便说一句,你不会是以前的Bob Denny在DECUS,并且在80年代为MacTech写了文章,是吗?如果是这样,我每隔十年左右就会(几乎)碰到你。 :-) – 2011-08-19 04:17:41