我有一个通过互联网自我更新的应用程序,更新后的拷贝不会在运行Leopard (10.5.8)的PowerPC计算机(G5)上运行。双击这个应用程序会产生一条消息:“你不能打开应用程序"appname”,因为这个体系结构不支持它。“但奇怪的是:如果我使用Finder或cp -R命令复制应用程序,那么复制就会运行得很好!然而,如果我在这两个应用程序上做ls -laeR,结果是相同的。我重新启动了机器,两个拷贝之间的区别仍然存在。
有时,重命名应用程序使其运行。经过几次尝试,我设法将它重命名为原来的名称,并且仍然运行它。
如果这只是在一台机器上,我会认为它是磁盘损坏、宇宙射线或巫毒巫术,但它是由一位顾客报告的,然后我在我自己的机器上复制了它。
有什么可以导致这种行为的吗?
发布于 2010-04-06 18:14:29
事实证明,Launch数据库以某种方式将该应用程序标记为不受支持的应用程序,我通过使用半秘密的lsregister命令行工具来转储数据库来验证这一点。任何能改变应用程序的开发日期的东西,比如touch,都足以让Launch醒来,闻到咖啡的味道。
发布于 2010-04-06 03:15:45
对我来说,听起来像是一个扩展属性或其他方面,没有被转到程序文件的副本中。
也许可以尝试在应用程序包上的xattr输出上运行ls -laeR命令?
https://stackoverflow.com/questions/2580450
复制相似问题