2011-01-06 39 views
0

我正在尝试为我创建的Mail.app插件创建一个安装程序包。它需要做两件事情: 1.安装.mailbundle(这是一个简单的文件夹)到〜/资源库/邮件/捆绑 2.运行两个终端命令,使邮件捆绑使用PackageMaker安装Mail插件?

问题的症结似乎来源于我试图安装在用户的个人文件夹中的事实,因为PackageMaker应用程序似乎没有“当前登录的用户”变量,所以当我指定谁应该是文件的所有者时。现在,我自己指定为所有者,认为PackageMaker会智能地将其视为“当前用户”,但似乎并非如此;当我尝试在其他人的机器上安装软件包时,一个未知用户(可能是我)是该文件夹的所有者,并且启用邮件包的postinstall脚本似乎不起作用(可能是因为安装程序以root身份运行,这可以防止默认程序写入当前用户的邮件首选项文件)。

我已经做了很多寻找这个东西,但大多数人似乎正在安装自己的独立应用程序,没有人做的东西严格存在于主文件夹。我将尝试一个简单的shell脚本,用户可以通过双击来安装插件,但我真的需要将它作为pkg工作,以便Sparkle能够正常工作。

我希望能够做的另一件事是检查邮件是否在安装时运行,并提示用户退出程序。现在我可以静静地退出程序,但我宁愿让用户退出,只是为了安全起见。我知道这是可能的,因为iTunes更新程序会这样做,但我在PackageMaker中看不到任何直接的方法,所以我猜测需要更具创造性的解决方案。

任何想法?

+0

根据http://discussions.apple.com/message.jspa?messageID=3606045它似乎是不可能的,但我觉得它将不得不,因为其他邮件插件完成此(GrowlMail, GPGMail等)。 – Aaron 2011-01-06 19:58:58

回答

0

下载GrowlMail源代码并查看MakeFile。我想你可能需要通过使用脚本以这种方式移动文件。

+1

这很好。我将这些文件安装到临时文件夹,并使用安装后脚本创建目录/ Library/Mail/Bundles并将邮件包移动到那里。 – Aaron 2011-07-28 20:22:59